GridBagLayout (Java Platform SE 6) - xrath.com 에서 번역됨

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 API | 색인 | 헬프

JavaTM Platform
Standard Ed. 6

앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드

## java.awt
클래스 GridBagLayout

    java.lang.Object
      java.awt.GridBagLayout

모든 구현된 인터페이스:
  LayoutManager , LayoutManager2 , Serializable

    public class GridBagLayout

extends Object
implements LayoutManager2 , Serializable

`GridBagLayout` 클래스는, 다른 크기의 컴퍼넌트에서도 종횡에, 또는 baseline에 따라 배치할 수 있는 유연한 레이아웃 매니저입니다. 각각의 `GridBagLayout` 객체는, 셀에 의해 구성되는 동적인 구형 구라두를 포함하고 있습니다. 각 컴퍼넌트는, 1 개(살) 이상의 셀 ( 「표시 영역」이라고 부른다)에 배치됩니다.

`GridBagLayout` 에 의해 관리되는 각 컴퍼넌트는,`GridBagConstraints` 의 인스턴스와 관련합니다. 제약 객체는, 컴퍼넌트의 표시 영역을 구라두상에 배치하는 장소, 및 컴퍼넌트를 그 표시 영역내에 배치하는 방법을 지정합니다. 또, 이 제약 객체에 가세해`GridBagLayout` 는, 컴퍼넌트의 사이즈를 결정하기 위해서(때문에), 각 컴퍼넌트의 최소 사이즈 및 추천 사이즈를 고려합니다.

구라두의 전체의 방향은, 컨테이너 `ComponentOrientation` 프로퍼티에 의해 정해집니다. 수평 방향으로 왼쪽에서 오른쪽의 경우, 구라두의 좌표 (0, 0)는 컨테이너의 좌상구석이 됩니다. 이 경우, X 좌표는 우측향에, Y 좌표는 아래방향에 값이 증가합니다. 수평 방향으로 오른쪽에서 왼쪽의 경우, 구라두의 좌표 (0, 0)는 컨테이너의 우상구석이 됩니다. 이 경우, X 좌표는 좌방향에, Y 좌표는 아래방향에 값이 증가합니다.

구라두 가방 레이아웃을 효과적으로 이용하려면 , 컴퍼넌트의 적어도 1 개의 `GridBagConstraints` 객체를 커스터마이즈 할 필요가 있습니다. `GridBagConstraints` 객체를 커스터마이즈 하려면 , 1 개(살) 또는 복수의 인스턴스 변수를 설정합니다.

`GridBagConstraints.gridx` ,`GridBagConstraints.gridy`
  컴퍼넌트의 표시 영역의 리딩 코너를 포함하는 셀을 지정합니다. 구라두의 원점에 있는 셀의 주소는 `gridx = 0`,`gridy = 0` 입니다. 수평 방향으로 왼쪽에서 오른쪽에의 레이아웃의 경우, 컴퍼넌트의 리딩 코너는 좌상구석입니다. 수평 방향으로 금방 다른 곳으로의 레이아웃의 경우, 컴퍼넌트의 리딩 코너는 우상구석입니다. `GridBagConstraints.RELATIVE` (규정치)를 사용해, 컴퍼넌트를, 이 컴퍼넌트가 추가되기 직전에 컨테이너에 추가된 컴퍼넌트의 직후에 (`gridx` 는 x 축으로 따라,`gridy` 는 y 축으로 따라) 배치하도록(듯이) 지정합니다.
`GridBagConstraints.gridwidth` ,`GridBagConstraints.gridheight`
  컴퍼넌트의 표시 영역에 있어서의 1 행 (`gridwidth`) 또는 1 열 (`gridheight`) 근처의 셀의 수를 지정합니다. 디폴트 값는 1 입니다. 컴퍼넌트의 표시 영역이 `gridx` 로부터 행의 마지막 셀까지 (`gridwidth`) 또는 `gridy` 로부터 열의 마지막 셀까지 (`gridheight`)인 것을 지정하는 경우는,`GridBagConstraints.REMAINDER` 를 사용합니다. 컴퍼넌트의 표시 영역이 `gridx` 로부터, 행의 최후로부터 2 번째의 셀까지 (`gridwidth`), 또는 `gridy` 로부터, 열의 최후로부터 2 번째의 셀까지 (`gridheight`)인 것을 지정하는 경우는,`GridBagConstraints.RELATIVE` 를 사용합니다.
`GridBagConstraints.fill`
  컴퍼넌트의 표시 영역이, 필요로 하는 사이즈보다 큰 경우에는, 컴퍼넌트의 사이즈 변경을 실시할지 어떨지라고 변경의 방법을 결정하기 위해서(때문에) 사용됩니다. 지정할 수 있는 값은,`GridBagConstraints.NONE` (디폴트),`GridBagConstraints.HORIZONTAL` (컴퍼넌트의 높이는 변경하지 않고 , 폭을 표시 영역 최대로 한다),`GridBagConstraints.VERTICAL` (컴퍼넌트의 폭은 변경하지 않고 , 높이를 표시 영역 최대로 한다),`GridBagConstraints.BOTH` (컴퍼넌트를 표시 영역 최대로 한다)입니다.
`GridBagConstraints.ipadx` ,`GridBagConstraints.ipady`
  레이아웃내의 컴퍼넌트의 안쪽의 패딩 (컴퍼넌트의 최소 사이즈에 추가하는 값)을 지정합니다. 컴퍼넌트의 폭은, 적어도 최소의 폭 + `ipadx` 픽셀이 됩니다. 같이 컴퍼넌트의 높이는, 적어도 최소의 높이 + `ipady` 픽셀이 됩니다.
`GridBagConstraints.insets`
  컴퍼넌트의 외측의 패딩, 즉 컴퍼넌트와 표시 영역의 구석과의 사이의 최소의 공간을 지정합니다.
`GridBagConstraints.anchor`
  표시 영역내의 컴퍼넌트의 위치를 지정합니다. 취할 수 있는 값에는, 절대치, 방향 상대치, baseline 상대치의 3 종류가 있습니다. 방향 상대치는, 절대치가 없는 경우에, 컨테이너의 `ComponentOrientation` 프로퍼티을 기준(�해석됩니다. baseline 상대치는, baseline를 기준으로 해 계산됩니다. 유효한 값은 이하대로입니다.

절대치 | 방향 상대치 | baseline 상대치
--- | --- | ---

- `GridBagConstraints.NORTH`
- `GridBagConstraints.SOUTH`
- `GridBagConstraints.WEST`
- `GridBagConstraints.EAST`
- `GridBagConstraints.NORTHWEST`
- `GridBagConstraints.NORTHEAST`
- `GridBagConstraints.SOUTHWEST`
- `GridBagConstraints.SOUTHEAST`
- `GridBagConstraints.CENTER` (디폴트)

- `GridBagConstraints.PAGE_START`
- `GridBagConstraints.PAGE_END`
- `GridBagConstraints.LINE_START`
- `GridBagConstraints.LINE_END`
- `GridBagConstraints.FIRST_LINE_START`
- `GridBagConstraints.FIRST_LINE_END`
- `GridBagConstraints.LAST_LINE_START`
- `GridBagConstraints.LAST_LINE_END`

- `GridBagConstraints.BASELINE`
- `GridBagConstraints.BASELINE_LEADING`
- `GridBagConstraints.BASELINE_TRAILING`
- `GridBagConstraints.ABOVE_BASELINE`
- `GridBagConstraints.ABOVE_BASELINE_LEADING`
- `GridBagConstraints.ABOVE_BASELINE_TRAILING`
- `GridBagConstraints.BELOW_BASELINE`
- `GridBagConstraints.BELOW_BASELINE_LEADING`
- `GridBagConstraints.BELOW_BASELINE_TRAILING`

`GridBagConstraints.weightx` ,`GridBagConstraints.weighty`
  스페이스의 분배 방법을 결정하기 위해서(때문에) 사용됩니다. 이것은, 사이즈 변경의 동작을 지정하기 위해서 중요합니다. 1 행 (`weightx`) 또는 1 열 (`weighty`)에 대해, 적어도 1 개의 컴퍼넌트에 웨이트를 설정하지 않는 한, 모든 컴퍼넌트가 컨테이너 속앙에 모입니다. 이것은, 웨이트가 0 의 경우 (디폴트)에는,`GridBagLayout` 객체가 여분의 스페이스를 모두 셀의 구라두와 컨테이너의 구석의 사이에 배치해 버리기 때문입니다.

각 행에는 baseline가 있는 경우가 있습니다. 행의 baseline는, 그 행으로 유효한 baseline를 가지는 컴퍼넌트에 의해 결정되어 컴퍼넌트는 baseline에 따라 배치됩니다. 컴퍼넌트의 anchor 치는,`BASELINE`,`BASELINE_LEADING`,`BASELINE_TRAILING` 의 머지않아인가입니다. 은행내에서 어느 컴퍼넌트도 유효한 baseline를 가지지 않는 경우, 그 행에 baseline는 없습니다.

복수의 행에 걸치는 것 같은 컴퍼넌트는, 개시행의 baseline (baseline 사이즈 변경 동작이 `CONSTANT_ASCENT` 의 경우), 또는 종료행의 baseline (baseline 사이즈 변경 동작이 `CONSTANT_DESCENT` 의 경우)에 따라 배치됩니다. 컴퍼넌트가 따르는 행은, 「지배행」이라고 불립니다.

다음의 그림에, baseline의 레이아웃을 나타냅니다. 이 그림에서는 복수행에 걸치는 컴퍼넌트가 존재합니다.

이 레이아웃에는 3 개의 컴퍼넌트가 있습니다.

- 행 0 으로부터 시작되어, 행 1 으로 끝나는 패널. 패널에는 baseline 사이즈 변경 동작 `CONSTANT_DESCENT` 와 엥커 `BASELINE` 가 설정되어 있습니다. baseline 사이즈 변경 동작이 `CONSTANT_DESCENT` 이기 (위해)때문에, 패널의 지배행은 행 1 입니다.
- 2 개의 버튼. 각각 baseline 사이즈 변경 동작 `CENTER_OFFSET` 와 엥커 `BASELINE` 가 설정되어 있습니다.

2 번째의 버튼과 패널이 같은 지배행을 공유하고 있기 (위해)때문에, 어느쪽이나 각자의 baseline에 따라 배치되고 있습니다.

baseline 상대치의 어느쪽이든을 사용해 배치된 컴퍼넌트는, 절대치 또는 방향 상대치를 사용해 배치했을 경우와 다른 방법으로 사이즈가 변경됩니다. 컴퍼넌트의 변경 방법은, 지배행의 baseline의 변경 방법에 따라 지시받습니다. 같은 지배행을 가지는 임의의 컴퍼넌트로 baseline 사이즈 변경 동작 `CONSTANT_DESCENT` 가 설정되어 있는 경우, baseline는 표시 영역의 하단에 엥커 설정됩니다. 그렇지 않은 경우, baseline는 표시 영역의 상단에 엥커 설정됩니다. 다음의 규칙에 의해 사이즈 변경 동작이 지시받습니다.

- baseline보다 위에 배치된 사이즈 변경 가능 컴퍼넌트는, baseline와 같은 높이까지 밖에 높게 할 수 없습니다. 예를 들어 baseline가 100 으로, 상단에 엥커 설정되어 있는 경우, baseline보다 위에 배치된 사이즈 변경 가능 컴퍼넌트는 100 단위보다 높게 할 수 없습니다.
- 같이 baseline보다 아래에 배치된 사이즈 변경 가능 컴퍼넌트는, 표시 높이와 baseline의 간격보다 높게 할 수 없습니다.
- baseline에 배치되어 baseline 사이즈 변경 동작 `OTHER` 가 설정된 사이즈 변경 가능 컴퍼넌트의 경우는, 사이즈 변경 후의 사이즈의 baseline가 표시 영역에 들어가는 경우에 한정해, 사이즈 변경됩니다. baseline가 표시 영역내에 들어가지 않게 되는 경우, 컴퍼넌트는 사이즈 변경되지 않습니다.
- baseline 사이즈 변경 동작이 `OTHER` 가 아닌 baseline에 배치된 컴퍼넌트는,`표시 높이 - baseline + 컴퍼넌트의 baseline` 까지 높게 할 수가 있습니다.

baseline에 따라 컴퍼넌트를 배치했지만, 그 컴퍼넌트에 유효한 baseline가 없는 경우는, 컴퍼넌트의 공간내에서 수직 방향으로 centering 됩니다. 같이 baseline를 기준에 컴퍼넌트를 배치했지만, 은행내의 어느 컴퍼넌트도 유효한 baseline를 가지지 않는 경우, 그 컴퍼넌트는 수직 방향으로 centering 됩니다.

다음에 나타내는 그림은, 구라두 가방 레이아웃에 의해 관리되는 10 개의 컴퍼넌트 (모든 버튼)를 나타냅니다. 그림 2 는 수평 방향으로 왼쪽에서 오른쪽에의 컨테이너를 나타내, 그림 3 은 수평 방향으로 금방 다른 곳으로의 컨테이너를 나타냅니다.

그림 2:수평 방향으로 왼쪽에서 오른쪽 | 그림 3:수평 방향으로 오른쪽에서 왼쪽

10 개의 컴퍼넌트의 각각은, 그 관련하고 있는 `GridBagConstraints` 객체의 `fill` 필드가 `GridBagConstraints.BOTH` 로 설정되어 있습니다. 한층 더 컴퍼넌트는, 디폴트와는 다른 이하의 제약을 가지고 있습니다.

- Button1, Button2, Button3:`weightx = 1. 0`
- Button4:`weightx = 1. 0`,`gridwidth = GridBagConstraints.REMAINDER`
- Button5:`gridwidth = GridBagConstraints.REMAINDER`
- Button6:`gridwidth = GridBagConstraints.RELATIVE`
- Button7:`gridwidth = GridBagConstraints.REMAINDER`
- Button8:`gridheight = 2`,`weighty = 1. 0`
- Button9, Button 10:`gridwidth = GridBagConstraints.REMAINDER`

상기의 예를 구현한 샘플 코드를 나타냅니다.

>      import java.awt. *;
>      import java.util. *;
>      import java.applet.Applet;

>      public class GridBagEx1 extends Applet {

>          protected void makebutton(String name,
>                                    GridBagLayout gridbag,
>                                    GridBagConstraints c) {
>              Button button = new Button(name);
>              gridbag.setConstraints(button, c);
>              add(button);
>          }

>          public void init() {
>              GridBagLayout gridbag = new GridBagLayout();
>              GridBagConstraints c = new GridBagConstraints();

>              setFont(new Font("SansSerif", Font.PLAIN, 14));
>              setLayout(gridbag);

>              c.fill = GridBagConstraints.BOTH;
>              c.weightx = 1.0;
>              makebutton("Button1", gridbag, c);
>              makebutton("Button2", gridbag, c);
>              makebutton("Button3", gridbag, c);

>              c.gridwidth = GridBagConstraints.REMAINDER; //end row
>              makebutton("Button4", gridbag, c);

>              c.weightx = 0.0;                //reset to the default
>              makebutton("Button5", gridbag, c); //another row

>              c.gridwidth = GridBagConstraints.RELATIVE; //next-to-last in row
>              makebutton("Button6", gridbag, c);

>              c.gridwidth = GridBagConstraints.REMAINDER; //end row
>              makebutton("Button7", gridbag, c);

>              c.gridwidth = 1;                //reset to the default
>              c.gridheight = 2;
>              c.weighty = 1.0;
>              makebutton("Button8", gridbag, c);

>              c.weighty = 0.0;                //reset to the default
>              c.gridwidth = GridBagConstraints.REMAINDER; //end row
>              c.gridheight = 1;               //reset to the default
>              makebutton("Button9", gridbag, c);
>              makebutton("Button10", gridbag, c);

>              setSize(300, 100);
>          }

>          public static void main(String args[]) {
>              Frame f = new Frame("GridBag Layout Example");
>              GridBagEx1 ex1 = new GridBagEx1();

>              ex1.init();

>              f.add("Center", ex1);
>              f.pack();
>              f.setSize(f.getPreferredSize());
>                        f.show();
>          }
>      }

도입된 버젼:
  JDK1. 0
관련 항목:
  `GridBagConstraints` , `GridBagLayoutInfo` , `ComponentOrientation` , 직렬화 된 형식

필드의 개요
`double[]` | `columnWeights` 이 필드는, 열의 웨이트에 대한 오버라이드(override)를 보관 유지합니다.
`int[]` | `columnWidths` 이 필드는, 열의 최소폭에 대한 오버라이드(override)를 보관 유지합니다.
`protected Hashtable <Component ,GridBagConstraints >` | `comptable` 이 해시 테이블은, 컴퍼넌트와 컴퍼넌트의 구라두 가방 제약과의 관련성을 유지합니다.
`protected GridBagConstraints` | `defaultConstraints` 이 필드는, 디폴트 값를 포함하는 구라두 가방 제약의 인스턴스를 보관 유지합니다.
`protected GridBagLayoutInfo` | `layoutInfo` 이 필드는, 구라두 가방의 레이아웃 정보를 보관 유지합니다.
`protected static int` | `MAXGRIDSIZE` 이 필드는, 배열을 예약하기 위해서는 사용되지 않게 되어, 하위 호환성을 위해서(때문에) 유지되고 있습니다.
`protected static int` | `MINSIZE` 구라두 가방 레이아웃에 의해 배치할 수 있는 최소의 구라두입니다.
`protected static int` | `PREFERREDSIZE` 구라두 가방 레이아웃에 의해 배치할 수 있는 구라두의 추천 사이즈입니다.
`int[]` | `rowHeights` 이 필드는, 행의 최소의 높이에 대한 오버라이드(override)를 보관 유지합니다.
`double[]` | `rowWeights` 이 필드는, 행의 웨이트에 대한 오버라이드(override)를 보관 유지합니다.

생성자 의 개요
`GridBagLayout ()` 구라두 가방 레이아웃 매니저를 작성합니다.

메소드의 개요
`void` | `addLayoutComponent (Component comp, Object constraints)` 지정된 `constraints` 객체를 사용해, 지정된 컴퍼넌트를 레이아웃에 추가합니다.
`void` | `addLayoutComponent (String name, Component comp)` 이 레이아웃 매니저는 컴퍼넌트마다의 캐릭터 라인을 사용하지 않기 때문에, 아무것도 하지 않습니다.
`protected void` | `adjustForGravity (GridBagConstraints constraints, Rectangle r)` x, y, 폭, 높이 필드를, 제약 기하학적 도형 및 패드에 응해 올바른 값에 조정합니다.
`protected void` | `AdjustForGravity (GridBagConstraints constraints, Rectangle r)` 이 메소드는 하위 호환성 (을) 위해서만 제공됩니다.
`protected void` | `arrangeGrid (Container parent)` 구라두를 배치합니다.
`protected void` | `ArrangeGrid (Container parent)` 이 메소드는 하위 호환성 (을) 위해서만 제공됩니다.
`GridBagConstraints` | `getConstraints (Component comp)` 지정된 컴퍼넌트의 제약을 돌려줍니다.
`float` | `getLayoutAlignmentX (Container parent)` x 축방향의 배치를 돌려줍니다.
`float` | `getLayoutAlignmentY (Container parent)` y 축방향의 배치를 돌려줍니다.
`int[][]` | `getLayoutDimensions ()` 레이아웃 구라두의 열의 폭과 행의 높이를 지정합니다.
`protected GridBagLayoutInfo` | `getLayoutInfo (Container parent, int sizeflag)` 관리되는 아이의 현재세트에 대한 `GridBagLayoutInfo` 의 인스턴스에 값을 입금시킵니다.
`protected GridBagLayoutInfo` | `GetLayoutInfo (Container parent, int sizeflag)` 이 메소드는 하위 호환성 (을) 위해서만 제공됩니다.
`Point` | `getLayoutOrigin ()` 타겟 컨테이너의 그래픽스 좌표 공간내에서, 레이아웃 영역의 원점을 지정합니다.
`double[][]` | `getLayoutWeights ()` 레이아웃 구라두의 열과 행의 웨이트를 지정합니다.
`protected Dimension` | `getMinSize (Container parent, GridBagLayoutInfo info)` `getLayoutInfo` 로부터의 정보에 근거해, 마스터의 최소 사이즈를 산출합니다.
`protected Dimension` | `GetMinSize (Container parent, GridBagLayoutInfo info)` 이 메소드는 하위 호환성 (을) 위해서만 제공됩니다.
`void` | `invalidateLayout (Container target)` 레이아웃을 무효로 합니다.
`void` | `layoutContainer (Container parent)` 이 구라두 가방 레이아웃을 사용해 지정된 컨테이너를 배치합니다.
`Point` | `location (int x, int y)` 레이아웃 구라두의 어느 셀이 `(x, y)` 로 지정되는 좌표를 포함하는지를 판정합니다.
`protected GridBagConstraints` | `lookupConstraints (Component comp)` 지정된 컴퍼넌트의 제약을 돌려줍니다.
`Dimension` | `maximumLayoutSize (Container target)` 지정된 타겟 컨테이너가 주어진 컴퍼넌트에 대한 레이아웃의 최대 사이즈를 돌려줍니다.
`Dimension` | `minimumLayoutSize (Container parent)` 이 구라두 가방 레이아웃을 사용해,`parent` 컨테이너의 최소 사이즈를 지정합니다.
`Dimension` | `preferredLayoutSize (Container parent)` 이 구라두 가방 레이아웃을 사용해,`parent` 컨테이너의 추천 사이즈를 지정합니다.
`void` | `removeLayoutComponent (Component comp)` 지정된 컴퍼넌트를 이 레이아웃으로부터 삭제합니다.
`void` | `setConstraints (Component comp, GridBagConstraints constraints)` 이 레이아웃의 지정된 컴퍼넌트에 대해서 제약을 설정합니다.
`String` | `toString ()` 구라두 가방 레이아웃의 값의 캐릭터 라인 표현을 돌려줍니다.

클래스 java.lang. Object 로부터 상속된 메소드
`clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait`

필드의 상세

### MAXGRIDSIZE

    protected static final int MAXGRIDSIZE

  이 필드는, 배열을 예약하기 위해서는 사용되지 않게 되어, 하위 호환성을 위해서(때문에) 유지되고 있습니다. 이전에는, 구라두 가방 레이아웃에 의해 배치할 수 있는 구라두 위치 (종횡 어느 쪽이라고도)의 최대수였습니다. 현재의 구현에서는, 구라두 사이즈에 제한은 없습니다.

  관련 항목:
    정수 필드치

### MINSIZE

    protected static final int MINSIZE

  구라두 가방 레이아웃에 의해 배치할 수 있는 최소의 구라두입니다.

  관련 항목:
    정수 필드치

### PREFERREDSIZE

    protected static final int PREFERREDSIZE

  구라두 가방 레이아웃에 의해 배치할 수 있는 구라두의 추천 사이즈입니다.

  관련 항목:
    정수 필드치

### comptable

    protected Hashtable <Component ,GridBagConstraints > comptable

  이 해시 테이블은, 컴퍼넌트와 컴퍼넌트의 구라두 가방 제약과의 관련성을 유지합니다. `comptable` 의 키는 컴퍼넌트로, 값은 `GridBagConstraints` 의 인스턴스입니다.

  관련 항목:
    `GridBagConstraints`

### defaultConstraints

    protected GridBagConstraints  defaultConstraints

  이 필드는, 디폴트 값를 포함하는 구라두 가방 제약의 인스턴스를 보관 유지합니다. 그 때문에, 컴퍼넌트에 거기에 관련한 구라두 가방 제약이 없는 경우, 그 컴퍼넌트에는 `defaultConstraints` 의 카피를 할당할 수 있습니다.

  관련 항목:
    `getConstraints(Component)` , `setConstraints(Component, GridBagConstraints)` , `lookupConstraints(Component)`

### layoutInfo

    protected GridBagLayoutInfo  layoutInfo

  이 필드는, 구라두 가방의 레이아웃 정보를 보관 유지합니다. 이 필드의 정보는, 구라두 가방의 최신의 검사에 근거합니다. `layoutInfo` 가 `null` 의 경우는, 구라두 가방에 컴퍼넌트가 없는지, 또는 컴퍼넌트가 있어도 그것이 아직 검사를 받고 있지 않은 것을 의미합니다.

  관련 항목:
    `getLayoutInfo(Container, int)`

### columnWidths

    public int[] columnWidths

  이 필드는, 열의 최소폭에 대한 오버라이드(override)를 보관 유지합니다. 이 필드가 `null` 가 아닌 경우, 모든 최소렬폭이 계산된 후에, 그 값이 구라두 가방에 적용됩니다. columnWidths 에 렬수보다 많은 요소가 있는 경우, columnWidth 의 요소수에 맞추기 위해서(때문에) 구라두 가방에 열이 추가됩니다.

  관련 항목:
    `getLayoutDimensions()`

### rowHeights

    public int[] rowHeights

  이 필드는, 행의 최소의 높이에 대한 오버라이드(override)를 보관 유지합니다. 이 필드가 `null`가 아닌 경우, 모든 최소의 행의 높이가 계산된 후에, 그 값이 구라두 가방에 적용됩니다. `rowHeights` 에 행수보다 많은 요소가 있는 경우,`rowHeights` 의 요소수에 맞추기 위해서(때문에), 구라두 가방에 행이 추가됩니다.

  관련 항목:
    `getLayoutDimensions()`
  ``

### columnWeights

    public double[] columnWeights

  이 필드는, 열의 웨이트에 대한 오버라이드(override)를 보관 유지합니다. 이 필드가 `null` 가 아닌 경우, 모든 열의 웨이트가 계산된 후에, 그 값이 구라두 가방에 적용됩니다. `columnWeights[i]` > 가 열 i 의 웨이트보다 큰 경우, 열 i 에 `columnWeights[i]` 의 웨이트를 할당할 수 있습니다. `columnWeights` 에 렬수보다 많은 요소가 있는 경우, 초과한 요소는 무시되어 열의 작성은 행해지지 않습니다.

### rowWeights

    public double[] rowWeights

  이 필드는, 행의 웨이트에 대한 오버라이드(override)를 보관 유지합니다. 이 필드가 `null` 가 아닌 경우, 모든 행의 웨이트가 계산된 후에, 그 값이 구라두 가방에 적용됩니다. `rowWeights[i]` > 가 행 i 의 웨이트보다 큰 경우, 행 i 에 `rowWeights[i]` 의 웨이트를 할당할 수 있습니다. `rowWeights` 에 행수보다 많은 요소가 있는 경우, 초과한 요소는 무시되어 행의 작성은 행해지지 않습니다.

생성자 의 상세

### GridBagLayout

    public GridBagLayout()

  구라두 가방 레이아웃 매니저를 작성합니다.

메소드의 상세

### setConstraints

    public void setConstraints(Component  comp,
                               GridBagConstraints  constraints)

  이 레이아웃의 지정된 컴퍼넌트에 대해서 제약을 설정합니다.

  파라미터:
    `comp` - 변경되는 컴퍼넌트
    `constraints` - 적용되는 제약

### getConstraints

    public GridBagConstraints  getConstraints(Component  comp)

  지정된 컴퍼넌트의 제약을 돌려줍니다. 실제의 `GridBagConstraints` 객체의 카피가 돌려주어집니다.

  파라미터:
    `comp` - 조회되는 컴퍼넌트
  반환값:
    이 구라두 가방 레이아웃으로 지정되었다 컴퍼넌트의 제약, 즉 실제의 제약 객체의 카피가 반환된다

### lookupConstraints

    protected GridBagConstraints  lookupConstraints(Component  comp)

  지정된 컴퍼넌트의 제약을 돌려줍니다. 반환값은 카피는 아니고, 배치 기구로 사용되는 실제의 `GridBagConstraints` 객체입니다.

  `comp` 가 `GridBagLayout` 에 없는 경우, 일련의 디폴트의 `GridBagConstraints` 가 돌려주어집니다. `null` 의 `comp` 치는 무효로,`null` 가 돌려주어집니다.

  파라미터:
    `comp` - 조회되는 컴퍼넌트
  반환값:
    지정된 컴퍼넌트의 제약

### getLayoutOrigin

    public Point  getLayoutOrigin()

  타겟 컨테이너의 그래픽스 좌표 공간내에서, 레이아웃 영역의 원점을 지정합니다. 이 값은 컨테이너의 `ComponentOrientation` 의 값과는 관계없이, 레이아웃 영역의 좌상구석의 픽셀 좌표를 나타냅니다. 이것은, 셀 좌표 (0,0)에 의해 지정되는 구라두의 원점과는 다릅니다. 대부분의 어플리케이션은 이 메소드를 직접은 호출하지 않습니다.

  반환값:
    레이아웃 구라두의 좌상구석에 있는 셀의 그래픽스의 원점
  도입된 버젼:
    JDK1. 1
  관련 항목:
    `ComponentOrientation`

### getLayoutDimensions

    public int[][] getLayoutDimensions()

  레이아웃 구라두의 열의 폭과 행의 높이를 지정합니다.

  대부분의 어플리케이션은 이 메소드를 직접은 호출하지 않습니다.

  반환값:
    레이아웃열의 폭과 레이아웃행의 높이를 포함하는, 2 개의 배열로부터 구성되는 배열
  도입된 버젼:
    JDK1. 1

### getLayoutWeights

    public double[][] getLayoutWeights()

  레이아웃 구라두의 열과 행의 웨이트를 지정합니다. 웨이트를 사용하면(자), 레이아웃에 여분의 빈 공간이 있는 경우에, 지정된 열 또는 행을 그 추천 사이즈보다 얼마나 확대할 수 있는지를 계산할 수 있습니다.

  대부분의 어플리케이션은 이 메소드를 직접은 호출하지 않습니다.

  반환값:
    레이아웃열의 수평의 웨이트와 레이아웃행의 수직의 웨이트를 표현하는, 2 개의 배열로부터 구성되는 배열
  도입된 버젼:
    JDK1. 1

### location

    public Point  location(int x,
                          int y)

  레이아웃 구라두의 어느 셀이 `(x, y)` 로 지정되는 좌표를 포함하는지를 판정합니다. 각 셀은 열인덱스 (0 ~렬수 - 1)와 행 인덱스 (0 ~행수 - 1)로 식별됩니다.

  점 `(x, y)` 이 구라두의 외측에 있는 경우, 다음의 규칙이 적용됩니다. `x` 가 왼쪽에서 우측향의 컨테이너의 레이아웃의 왼쪽에 있는 경우, 또는 오른쪽으로부터 좌방향의 컨테이너의 레이아웃의 오른쪽에 있는 경우, 열인덱스는 제로가 돌려주어집니다. `x` 가 왼쪽에서 우측향의 컨테이너의 레이아웃의 오른쪽에 있는 경우, 또는 오른쪽으로부터 좌방향의 컨테이너의 레이아웃의 왼쪽에 있는 경우, 열인덱스는 렬수가 돌려주어집니다. `y` 가 레이아웃의 상부에 있는 경우는, 행 인덱스는 제로가 돌려주어져`y` 가 레이아웃의 하부에 있는 경우는, 행수가 돌려주어집니다. 컨테이너의 방향은, 그 `ComponentOrientation` 프로퍼티에 의해 지정됩니다.

  파라미터:
    `x` - 점의 x 좌표
    `y` - 점의 y 좌표
  반환값:
    레이아웃 구라두의 어느 셀이 점 (x, y)을 포함하고 있는지를 나타내는 순서 첨부 페어의 (인덱스
  도입된 버젼:
    JDK1. 1
  관련 항목:
    `ComponentOrientation`

### addLayoutComponent

    public void addLayoutComponent(String  name,
                                   Component  comp)

  이 레이아웃 매니저는 컴퍼넌트마다의 캐릭터 라인을 사용하지 않기 때문에, 아무것도 하지 않습니다.

  정의:
    인터페이스 `LayoutManager` 내의 `addLayoutComponent`
  파라미터:
    `name` - 컴퍼넌트에 관련지을 수 있었던 캐릭터 라인
    `comp` - 추가되는 컴퍼넌트

### addLayoutComponent

    public void addLayoutComponent(Component  comp,
                                   Object  constraints)

  지정된 `constraints` 객체를 사용해, 지정된 컴퍼넌트를 레이아웃에 추가합니다. 제약은 가변이며, 그 때문에 캐쉬시에 복제되는 것에 주의합니다.

  정의:
    인터페이스 `LayoutManager2` 내의 `addLayoutComponent`
  파라미터:
    `comp` - 추가되는 컴퍼넌트
    `constraints` - 컴퍼넌트를 레이아웃에 추가한다 방법을 지정하는 객체
  예외:
    `IllegalArgumentException` - `constraints` 가 `GridBagConstraint` 가 아닌 경우

### removeLayoutComponent

    public void removeLayoutComponent(Component  comp)

  지정된 컴퍼넌트를 이 레이아웃으로부터 삭제합니다.

  대부분의 어플리케이션은 이 메소드를 직접은 호출하지 않습니다.

  정의:
    인터페이스 `LayoutManager` 내의 `removeLayoutComponent`
  파라미터:
    `comp` - 삭제되는 컴퍼넌트
  관련 항목:
    `Container.remove(java.awt.Component)` , `Container.removeAll()`

### preferredLayoutSize

    public Dimension  preferredLayoutSize(Container  parent)

  이 구라두 가방 레이아웃을 사용해,`parent` 컨테이너의 추천 사이즈를 지정합니다.

  대부분의 어플리케이션은 이 메소드를 직접은 호출하지 않습니다.

  정의:
    인터페이스 `LayoutManager` 내의 `preferredLayoutSize`
  파라미터:
    `parent` - 배치를 하는 컨테이너
  반환값:
    `parent` 컨테이너의 추천 사이즈
  관련 항목:
    `Container.getPreferredSize()`

### minimumLayoutSize

    public Dimension  minimumLayoutSize(Container  parent)

  이 구라두 가방 레이아웃을 사용해,`parent` 컨테이너의 최소 사이즈를 지정합니다.

  대부분의 어플리케이션은 이 메소드를 직접은 호출하지 않습니다.

  정의:
    인터페이스 `LayoutManager` 내의 `minimumLayoutSize`
  파라미터:
    `parent` - 배치를 하는 컨테이너
  반환값:
    `parent` 컨테이너의 최소 사이즈
  관련 항목:
    `Container.doLayout()`

### maximumLayoutSize

    public Dimension  maximumLayoutSize(Container  target)

  지정된 타겟 컨테이너가 주어진 컴퍼넌트에 대한 레이아웃의 최대 사이즈를 돌려줍니다.

  정의:
    인터페이스 `LayoutManager2` 내의 `maximumLayoutSize`
  파라미터:
    `target` - 배치할 필요가 있는 컨테이너
  반환값:
    이 레이아웃의 최대 사이즈
  관련 항목:
    `Container` , `minimumLayoutSize(Container)` , `preferredLayoutSize(Container)`

### getLayoutAlignmentX

    public float getLayoutAlignmentX(Container  parent)

  x 축방향의 배치를 돌려줍니다. 이것은, 그 컴퍼넌트가 다른 컴퍼넌트에 대해서 어떻게 배치되어야할 것인가를 지정한 것입니다. 이 값은 0 에서 1 의 사이의 수치로, 0 은 기점을 따른 배치를 나타내, 1 은 기점으로부터도 와도 먼 곳에, 0.5 는 중앙에 배치됩니다.

  정의:
    인터페이스 `LayoutManager2` 내의 `getLayoutAlignmentX`
  반환값:
    중앙에 배치하는 것을 나타내는 값 `0.5f`

### getLayoutAlignmentY

    public float getLayoutAlignmentY(Container  parent)

  y 축방향의 배치를 돌려줍니다. 이것은, 그 컴퍼넌트가 다른 컴퍼넌트에 대해서 어떻게 배치되어야할 것인가를 지정한 것입니다. 이 값은 0 에서 1 의 사이의 수치로, 0 은 기점을 따른 배치를 나타내, 1 은 기점으로부터도 와도 먼 곳에, 0.5 는 중앙에 배치됩니다.

  정의:
    인터페이스 `LayoutManager2` 내의 `getLayoutAlignmentY`
  반환값:
    중앙에 배치하는 것을 나타내는 값 `0.5f`

### invalidateLayout

    public void invalidateLayout(Container  target)

  레이아웃을 무효로 합니다. 이 때, 레이아웃 매니저가 정보를 캐쉬하고 있으면 그것을 파기합니다.

  정의:
    인터페이스 `LayoutManager2` 내의 `invalidateLayout`

### layoutContainer

    public void layoutContainer(Container  parent)

  이 구라두 가방 레이아웃을 사용해 지정된 컨테이너를 배치합니다. 이 메소드는 이 `GridBagLayout` 객체의 제약을 채우기 위해서(때문에), 지정된 컨테이너로 컴퍼넌트를 재성형합니다.

  대부분의 어플리케이션은 이 메소드를 직접은 호출하지 않습니다.

  정의:
    인터페이스 `LayoutManager` 내의 `layoutContainer`
  파라미터:
    `parent` - 배치를 하는 컨테이너
  관련 항목:
    `Container` , `Container.doLayout()`

### toString

    public String  toString()

  구라두 가방 레이아웃의 값의 캐릭터 라인 표현을 돌려줍니다.

  오버라이드(override):
    클래스 `Object` 내의 `toString`
  반환값:
    이 구라두 가방 레이아웃의 캐릭터 라인의 표현

### getLayoutInfo

    protected GridBagLayoutInfo  getLayoutInfo(Container  parent,
                                              int sizeflag)

  관리되는 아이의 현재세트에 대한 `GridBagLayoutInfo` 의 인스턴스에 값을 입금시킵니다. 이 인스턴스에는, 아이세트를 통해서, 다음의 3 개의 단계의 실행이 필요합니다.
  1. 레이아웃 구라두의 치수의 계산
  2. 컴퍼넌트를 배치하는 셀의 지정
  3. 행 또는 렬간에의 웨이트와 최소 사이즈의 배분
  또, 이 인스턴스는 이후의 루프로 다시 문의할 필요가 없게, 최초로 검출된 시점에서 모든 아이의 최소 사이즈를 캐쉬합니다.

  이 메소드는 `GridBagLayout` 에 의해 내부에서만 사용됩니다.

  파라미터:
    `parent` - 레이아웃 컨테이너
    `sizeflag` - `PREFERREDSIZE` 와 `MINSIZE` 의 언젠가
  반환값:
    일련의 아이의 `GridBagLayoutInfo`
  도입된 버젼:
    1.4

### GetLayoutInfo

    protected GridBagLayoutInfo  GetLayoutInfo(Container  parent,
                                              int sizeflag)

  이 메소드는 하위 호환성 (을) 위해서만 제공됩니다. 대신에 새로운 코드는 `getLayoutInfo` 를 호출합니다. 이 메소드는 `getLayoutInfo` 와 같습니다. 파라미터와 반환값의 자세한 것은 `getLayoutInfo` 를 참조해 주세요.

### adjustForGravity

    protected void adjustForGravity(GridBagConstraints  constraints,
                                    Rectangle  r)

  x, y, 폭, 높이 필드를, 제약 기하학적 도형 및 패드에 응해 올바른 값에 조정합니다. 이 메소드는 `GridBagLayout` 에 의해 내부에서만 사용됩니다.

  파라미터:
    `constraints` - 적용되는 제약
    `r` - 조정하는 `Rectangle`
  도입된 버젼:
    1.4

### AdjustForGravity

    protected void AdjustForGravity(GridBagConstraints  constraints,
                                    Rectangle  r)

  이 메소드는 하위 호환성 (을) 위해서만 제공됩니다. 대신에 새로운 코드는 `adjustForGravity` 를 호출합니다. 이 메소드는 `adjustForGravity` 와 같습니다. 파라미터의 자세한 것은 `adjustForGravity` 를 참조해 주세요.

### getMinSize

    protected Dimension  getMinSize(Container  parent,
                                   GridBagLayoutInfo  info)

  `getLayoutInfo` 로부터의 정보에 근거해, 마스터의 최소 사이즈를 산출합니다. 이 메소드는 `GridBagLayout` 에 의해 내부에서만 사용됩니다.

  파라미터:
    `parent` - 레이아웃 컨테이너
    `info` - 이 부모의 레이아웃 정보
  반환값:
    최소 사이즈가 포함되고 있는 `Dimension` 객체
  도입된 버젼:
    1.4

### GetMinSize

    protected Dimension  GetMinSize(Container  parent,
                                   GridBagLayoutInfo  info)

  이 메소드는 하위 호환성 (을) 위해서만 제공됩니다. 대신에 새로운 코드는 `getMinSize` 를 호출합니다. 이 메소드는 `getMinSize` 와 같습니다. 파라미터와 반환값의 자세한 것은 `getMinSize` 를 참조해 주세요.

### arrangeGrid

    protected void arrangeGrid(Container  parent)

  구라두를 배치합니다. 이 메소드는 `GridBagLayout` 에 의해 내부에서만 사용됩니다.

  파라미터:
    `parent` - 레이아웃 컨테이너
  도입된 버젼:
    1.4

### ArrangeGrid

    protected void ArrangeGrid(Container  parent)

  이 메소드는 하위 호환성 (을) 위해서만 제공됩니다. 대신에 새로운 코드는 `arrangeGrid` 를 호출합니다. 이 메소드는 `arrangeGrid` 와 같습니다. 파라미터의 자세한 것은 `arrangeGrid` 를 참조해 주세요.

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 API | 색인 | 헬프

JavaTM Platform
Standard Ed. 6

앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.