|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
java.lang.Objectjavax.swing.BoxLayout
public class BoxLayout
복수의 컴퍼넌트를, 수직 방향에도 수평 방향에도 배치할 수 있도록(듯이) 하는, 레이아웃 매니저입니다. 컴퍼넌트는 되접어 꺾이지 않고 배치되므로, 예를 들어, 수직에 늘어놓을 수 있었던 컴퍼넌트는, 프레임의 사이즈가 변경되어도 수직에 줄선대로 입니다.
|
수평 및 수직이 다른 편성을 가지는 복수의 패널을 상자로 하면(자), GridBagLayout 와 같은 효과를 간단하게 실현될 수 있습니다. 위의 그림에서는, 수평 방향으로 늘어놓을 수 있었던 2 개의 패널에, 수직 방향으로 늘어놓을 수 있었던 3 개의 컴퍼넌트가 각각 포함되어 있습니다.
BoxLayout 매니저는, 레이아웃의 종류를 지정하는 축파라미터로 구축됩니다. 다음의 4 개의 선택사항이 있습니다.
X_AXIS - 컴퍼넌트는 왼쪽에서 오른쪽에 수평에 배치됩니다.
Y_AXIS - 컴퍼넌트는 위에서 밑으로 수직에 배치됩니다.
LINE_AXIS - 컴퍼넌트는 컨테이너의 ComponentOrientation 프로퍼티에 근거해, 단어를 행에 배치하는 것과 같은 방법으로 배치됩니다. 컨테이너의 ComponentOrientation 가 수평 방향의 경우, 컴퍼넌트는 수평 방향으로 배치되어 수직 방향의 경우는 수직 방향으로 배치됩니다. 수평 배치에서는, 컨테이너의 ComponentOrientation 가 왼쪽에서 오른쪽에의 배치의 경우는, 컴퍼넌트는 왼쪽에서 오른쪽으로 배치되어 그렇지 않은 경우는 오른쪽에서 왼쪽으로 배치됩니다. 수직 배치에서는, 컴퍼넌트는 항상 위에서 아래로 배치됩니다.
PAGE_AXIS - 컴퍼넌트는 컨테이너의 ComponentOrientation 프로퍼티에 근거해, 텍스트행을 페이지에 배치하는 것과 같은 방법으로 배치됩니다. 컨테이너의 ComponentOrientation 가 수평 방향의 경우, 컴퍼넌트는 수직 방향으로 배치되어 수직 방향의 경우는 수평 방향으로 배치됩니다. 수평 배치에서는, 컨테이너의 ComponentOrientation 가 왼쪽에서 오른쪽에의 배치의 경우는, 컴퍼넌트는 왼쪽에서 오른쪽으로 배치되어 그렇지 않은 경우는 오른쪽에서 왼쪽으로 배치됩니다. 수직 배치에서는, 컴퍼넌트는 항상 위에서 아래로 배치됩니다.
어느 방향으로 배치되는 경우에서도, 컴퍼넌트는 컨테이너에 추가된 순서로 배치됩니다.
BoxLayout 는, 수평 레이아웃의 경우는 그 최적인 폭, 수직 레이아웃의 경우는 최적인 높이에 따라 컴퍼넌트를 배치하려고 합니다. 수평 레이아웃의 경우, 모든 컴퍼넌트가 같은 높이가 아니라도, BoxLayout 는 각 컴퍼넌트를 가장 높은 컴퍼넌트와 같은 높이에 가지런히 하려고 합니다. 특정의 컴퍼넌트로 이것이 불가능한 경우는, 그 컴퍼넌트의 Y 방향의 위치 맞춤용의 값에 따라, 컴퍼넌트를 세로에 정렬합니다. 디폴트에서는, 컴퍼넌트의 Y 방향의 위치 맞춤용의 값은 0.5 입니다. 이것은, 컴퍼넌트의 상하 방향의 중심의 Y 좌표가, Y 방향의 위치 맞춤용의 값이 0.5 의 다른 컴퍼넌트의 상하 방향의 중심과 같게 되는 것을 의미합니다.
같이 수직 레이아웃의 경우도, BoxLayout 는 열의 모든 컴퍼넌트의 폭을 최대폭에 가지런히 하도록(듯이) 시행합니다. 이것에 실패했을 경우는, X 방향의 위치 맞춤용의 값에 따라, 컴퍼넌트를 수평 방향으로 정렬합니다. PAGE_AXIS
레이아웃에서는, 컴퍼넌트의 첨단 위치를 기준으로 해 정렬됩니다. X 방향의 위치 맞춤용의 값이 0.0 의 경우, 기준 위치는 컨테이너의 ComponentOrientation
가 왼쪽에서 우측향이면 컨테이너의 좌단이 되어, 오른쪽으로부터 좌방향이면 컨테이너의 우단이 됩니다.
많은 프로그램에서는 BoxLayout 가 직접 사용되는 대신에, Box 클래스가 사용됩니다. Box 클래스는, BoxLayout 를 사용하는 경량 컨테이너입니다. BoxLayout 를 효과적으로 사용하기 위해서 도움이 되는 편리한 메소드를 제공합니다. 상자가 된 복수의 박스에의 컴퍼넌트 추가에 의해, 필요한 배치를 용이하게 얻을 수 있습니다.
상세와 사용예에 대해서는,「The Java Tutorial」의「How to Use BoxLayout」를 참조해 주세요.
경고: 이 클래스의 직렬화 된 객체는, 향후의 Swing 릴리스와 호환은 아니게 될 예정입니다. 현재의 직렬화의 지원는, 단기간의 운용이나, 같은 버젼의 Swing 를 실행하는 어플리케이션간의 RMI 에 적절하고 있습니다. JDK Version 1.4 이후, 모든 JavaBeans™ 의 장기간의 운용 지원는,java.beans
패키지에 추가되고 있습니다. 자세한 것은,XMLEncoder
를 참조해 주세요.
Box
,
ComponentOrientation
,
JComponent.getAlignmentX()
,
JComponent.getAlignmentY()
필드의 개요 | |
---|---|
static int |
LINE_AXIS
타겟 컨테이너의 ComponentOrientation 프로퍼티의 결정에 따라, 텍스트행의 방향으로 컴퍼넌트의 배치를 지정합니다. |
static int |
PAGE_AXIS
타겟 컨테이너의 ComponentOrientation 프로퍼티의 결정에 따라, 복수의 페이지에 걸쳐 행이 나갈 방향으로 컴퍼넌트가 배치되도록(듯이) 지정합니다. |
static int |
X_AXIS
컴퍼넌트의 배치의 방향을 왼쪽에서 오른쪽으로 지정합니다. |
static int |
Y_AXIS
컴퍼넌트의 배치의 방향을 위에서 아래로 지정합니다. |
생성자 의 개요 | |
---|---|
BoxLayout (Container target,
int axis)
컴퍼넌트가 지정된 방향으로 배치하는 레이아웃 매니저를 생성합니다. |
메소드의 개요 | |
---|---|
void |
addLayoutComponent (Component comp,
Object constraints)
이 클래스에서는 사용하지 않습니다. |
void |
addLayoutComponent (String name,
Component comp)
이 클래스에서는 사용하지 않습니다. |
int |
getAxis ()
컴퍼넌트의 배치에 사용된 축을 돌려줍니다. |
float |
getLayoutAlignmentX (Container target)
컨테이너의 X 축으로 따른 배치 방법을 돌려줍니다. |
float |
getLayoutAlignmentY (Container target)
컨테이너의 Y 축으로 따른 배치 방법을 돌려줍니다. |
Container |
getTarget ()
이 레이아웃 매니저를 사용하는 컨테이너를 돌려줍니다. |
void |
invalidateLayout (Container target)
아이의 레이아웃 정보가 변경된 것을 나타냅니다. |
void |
layoutContainer (Container target)
지정된 컨테이너를 배치할 필요가 있을 때 AWT 에 의해 불려 갑니다. |
Dimension |
maximumLayoutSize (Container target)
타겟 컨테이너가 자신의 컴퍼넌트를 배치할 경우에 사용할 수 있는, 최대의 치수를 돌려줍니다. |
Dimension |
minimumLayoutSize (Container target)
지정된 타겟 컨테이너에 포함되는 컴퍼넌트의 레이아웃에 필요한 최소 치수를 돌려줍니다. |
Dimension |
preferredLayoutSize (Container target)
지정된 타겟 컨테이너에 있는 컴퍼넌트에 대해, 이 레이아웃의 추천 치수를 돌려줍니다. |
void |
removeLayoutComponent (Component comp)
이 클래스에서는 사용하지 않습니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
필드의 상세 |
---|
public static final int X_AXIS
public static final int Y_AXIS
public static final int LINE_AXIS
ComponentOrientation
프로퍼티의 결정에 따라, 텍스트행의 방향으로 컴퍼넌트의 배치를 지정합니다.
public static final int PAGE_AXIS
ComponentOrientation
프로퍼티의 결정에 따라, 복수의 페이지에 걸쳐 행이 나갈 방향으로 컴퍼넌트가 배치되도록(듯이) 지정합니다.
생성자 의 상세 |
---|
public BoxLayout(Container target, int axis)
target
- 배치할 필요가 있는 컨테이너axis
- 배치할 필요가 있는 컨테이너 컴퍼넌트의 배치 방향.
BoxLayout.X_AXIS
,
BoxLayout.Y_AXIS
.
BoxLayout.LINE_AXIS
또는
BoxLayout.PAGE_AXIS
- 예외:
AWTError
- axis
의 값이 무효인 경우
메소드의 상세 |
---|
public final Container getTarget()
public final int getAxis()
BoxLayout.Y_AXIS
,BoxLayout.LINE_AXIS
, 또는 BoxLayout.PAGE_AXIS
의 어떤 것인가
public void invalidateLayout(Container target)
이 메소드는, 컨테이너로 무효인 메소드가 불려 갔을 때에 AWT 에 의해 불려 갑니다. 무효인 메소드는 이벤트 thread에 비동기적으로 호출할 수가 있기 (위해)때문에, 이 메소드도 비동기적으로 호출할 수가 있습니다.
LayoutManager2
내의 invalidateLayout
target
- 영향을 받는 컨테이너
AWTError
- 타겟이 BoxLayout 생성자 으로 지정되었다
컨테이너가 아닌 경우public void addLayoutComponent(String name, Component comp)
LayoutManager
내의 addLayoutComponent
name
- 컴퍼넌트의 이름comp
- 컴퍼넌트public void removeLayoutComponent(Component comp)
LayoutManager
내의 removeLayoutComponent
comp
- 컴퍼넌트public void addLayoutComponent(Component comp, Object constraints)
LayoutManager2
내의 addLayoutComponent
comp
- 컴퍼넌트constraints
- 제약public Dimension preferredLayoutSize(Container target)
LayoutManager
내의 preferredLayoutSize
target
- 배치할 필요가 있는 컨테이너
AWTError
- 타겟이 BoxLayout 생성자 으로 지정되었다
컨테이너가 아닌 경우Container
,
minimumLayoutSize(java.awt.Container)
,
maximumLayoutSize(java.awt.Container)
public Dimension minimumLayoutSize(Container target)
LayoutManager
내의 minimumLayoutSize
target
- 배치할 필요가 있는 컨테이너
AWTError
- 타겟이 BoxLayout 생성자 으로 지정되었다
컨테이너가 아닌 경우preferredLayoutSize(java.awt.Container)
,
maximumLayoutSize(java.awt.Container)
public Dimension maximumLayoutSize(Container target)
LayoutManager2
내의 maximumLayoutSize
target
- 배치할 필요가 있는 컨테이너
AWTError
- 타겟이 BoxLayout 생성자 으로 지정되었다
컨테이너가 아닌 경우preferredLayoutSize(java.awt.Container)
,
minimumLayoutSize(java.awt.Container)
public float getLayoutAlignmentX(Container target)
LayoutManager2
내의 getLayoutAlignmentX
target
- 컨테이너
AWTError
- 타겟이 BoxLayout 생성자 으로 지정되었다
컨테이너가 아닌 경우public float getLayoutAlignmentY(Container target)
LayoutManager2
내의 getLayoutAlignmentY
target
- 컨테이너
AWTError
- 타겟이 BoxLayout 생성자 으로 지정되었다
컨테이너가 아닌 경우public void layoutContainer(Container target)
LayoutManager
내의 layoutContainer
target
- 레이아웃 하는 컨테이너
AWTError
- 타겟이 BoxLayout 생성자 으로 지정되었다
컨테이너가 아닌 경우
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.