JavaTM Platform
Standard Ed. 6

java.awt
클래스 BorderLayout

java.lang.Object 
  상위를 확장 java.awt.BorderLayout
모든 구현된 인터페이스:
LayoutManager , LayoutManager2 , Serializable


public class BorderLayout
extends Object
implements LayoutManager2 , Serializable

경계 레이아웃은, north (상단), south (하단), east (우단), west (좌단), 및 center (중앙)라고 하는 5 개의 영역에 들어가도록(듯이), 컴퍼넌트를 정렬 및 사이즈 변경해, 컨테이너에 배치합니다. 각 영역은 컴퍼넌트를 최대 1 개(살)씩 포함할 수가 있어 각각 대응하는 정수 NORTH (상단),SOUTH (하단),EAST (우단),WEST (좌단),CENTER (중앙)에 의해 식별됩니다. 보더 레이아웃을 사용해 컨테이너에 컴퍼넌트를 추가할 때는, 다음의 예의 같게, 5 개의 정수의 어느쪽이든을 사용합니다.

    Panel p = new Panel();
    p.setLayout(new BorderLayout());
    p.add(new Button("Okay"), BorderLayout.SOUTH);
 
다음에 나타내도록(듯이), 캐릭터 라인의 지정이 없는 경우에는,BorderLayout 는 정수 CENTER 가 지정되었다고 해석합니다.
    Panel p2 = new Panel();
    p2.setLayout(new BorderLayout());
    p2.add(new TextArea());  // Same as p.add(new TextArea(), BorderLayout.CENTER);
 

또,BorderLayout 는,PAGE_START,PAGE_END,LINE_START, 및 LINE_END 라고 하는 상대 위치 지정 정수를 지원합니다. ComponentOrientationComponentOrientation.LEFT_TO_RIGHT 로 설정되어 있는 컨테이너에서는, 이러한 정수는 각각 NORTH,SOUTH,WEST,EAST 에 매핑 됩니다.  

이전의 릴리스와의 호환성을 유지하기 (위해)때문에,BorderLayout 에는 BEFORE_FIRST_LINE,AFTER_LAST_LINE,BEFORE_LINE_BEGINS, 및 AFTER_LINE_ENDS 라고 하는 상대 위치 지정 정수도 준비되어 있습니다. 이것들은 각각 PAGE_START,PAGE_END,LINE_START, 및 LINE_END 와 같은 의미를 가집니다. 다른 컴퍼넌트의 상대 위치 지정 정수와의 호환성의 면으로부터, 가능한 한 나머지의 4 개를 사용합니다.  

절대 위치 지정 정수와 상대 위치 지정 정수를 동시에 사용하면(자), 예기치 못한 결과가 생기는 일이 있습니다. 양쪽 모두의 종류의 정수를 사용했을 경우는, 상대 위치 지정 정수가 우선됩니다. 예를 들어, 방향이 LEFT_TO_RIGHT 의 컨테이너로 NORTH 정수와 PAGE_START 정수의 양쪽 모두를 사용해 컴퍼넌트를 추가했을 경우,PAGE_START 만을 사용해 배치를 합니다.  

주:Java 2 플랫폼 v1. 2 에서는,BorderLayout 는 수직 방향을 지원하고 있습니다. 컨테이너의 ComponentOrientationisVertical 의 설정치는 무시됩니다. 컴퍼넌트는 그러한 추천 사이즈나 컨테이너 사이즈의 제약을 채우도록(듯이) 배치됩니다.  

NORTH 컴퍼넌트 및 SOUTH 컴퍼넌트는 수평 방향으로 길게 늘어집니다. EAST 컴퍼넌트 및 WEST 컴퍼넌트는 수직 방향으로 길게 늘어집니다. CENTER 컴퍼넌트는, 스페이스를 남기지 않게, 수평 및 수직의 양방향에 길게 늘어집니다.  

이하의 예에서는,BorderLayout 레이아웃 매니저를 사용해 애플릿내에 5 개의 버튼이 배치됩니다.  

BorderLayout (을)를 나타내는 애플릿의 그림. 
BorderLayout 의 각 섹션에는, 레이아웃의 그 위치에 대응하는 버튼
(North,West,Center,East, 또는 South 의 어느쪽이든) 을 포함한  

이 애플릿의 코드는 다음과 같습니다.  


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

 public class buttonDir extends Applet {
   public void init() {
     setLayout(new BorderLayout());
     add(new Button("North"), BorderLayout.NORTH);
     add(new Button("South"), BorderLayout.SOUTH);
     add(new Button("East"), BorderLayout.EAST);
     add(new Button("West"), BorderLayout.WEST);
     add(new Button("Center"), BorderLayout.CENTER);
   }
 }
 

도입된 버젼:
JDK1. 0
관련 항목:
Container.add(String, Component) , ComponentOrientation , 직렬화 된 형식

필드의 개요
static String AFTER_LAST_LINE
          PAGE_END 와 같은 의미를 가집니다.
static String AFTER_LINE_ENDS
          LINE_END 와 같은 의미를 가집니다.
static String BEFORE_FIRST_LINE
          PAGE_START 와 같은 의미를 가집니다.
static String BEFORE_LINE_BEGINS
          LINE_START 와 같은 의미를 가집니다.
static String CENTER
          center 의 레이아웃 제약 (컨테이너 속앙)입니다.
static String EAST
          east 의 레이아웃 제약 (컨테이너의 우단)입니다.
static String LINE_END
          컴퍼넌트는 레이아웃의 행방향의 마지막에 배치됩니다.
static String LINE_START
          컴퍼넌트는 레이아웃의 행방향의 선두에 배치됩니다.
static String NORTH
          north 의 레이아웃 제약 (컨테이너의 상단)입니다.
static String PAGE_END
          컴퍼넌트는 레이아웃의 내용의 맨 마지막 줄의 후에 배치됩니다.
static String PAGE_START
          컴퍼넌트는 레이아웃의 내용의 선두행의 전에 배치됩니다.
static String SOUTH
          south 의 레이아웃 제약 (컨테이너의 하단)입니다.
static String WEST
          west 의 레이아웃 제약 (컨테이너의 좌단)입니다.
 
생성자 의 개요
BorderLayout ()
          컴퍼넌트간에 간격을 마련하지 않고 , 새로운 보더 레이아웃을 구축합니다.
BorderLayout (int hgap, int vgap)
          컴퍼넌트간에 간격을 지정해, 새로운 보더 레이아웃을 구축합니다.
 
메소드의 개요
 void addLayoutComponent (Component  comp, Object  constraints)
          지정된 제약 객체를 사용해, 지정된 컴퍼넌트를 레이아웃에 추가합니다.
 void addLayoutComponent (String  name, Component  comp)
          추천 되고 있지 않습니다.  addLayoutComponent(Component, Object) 로 옮겨졌습니다.
 Object getConstraints (Component  comp)
          지정된 컴퍼넌트의 제약을 가져옵니다.
 int getHgap ()
          컴퍼넌트간의 수평 방향의 간격을 돌려줍니다.
 float getLayoutAlignmentX (Container  parent)
          x 축방향의 배치를 돌려줍니다.
 float getLayoutAlignmentY (Container  parent)
          y 축방향의 배치를 돌려줍니다.
 Component getLayoutComponent (Container  target, Object  constraints)
          목적의 Container 의 컴퍼넌트 방향에 근거해, 지정된 제약의 장소에 대응하는 컴퍼넌트를 돌려줍니다.
 Component getLayoutComponent (Object  constraints)
          지정된 제약으로 추가된 컴퍼넌트를 가져옵니다.
 int getVgap ()
          컴퍼넌트간의 수직 방향의 간격을 돌려줍니다.
 void invalidateLayout (Container  target)
          레이아웃을 무효로 합니다.
 void layoutContainer (Container  target)
          이 보더 레이아웃을 사용해 컨테이너 인수를 배치합니다.
 Dimension maximumLayoutSize (Container  target)
          지정된 타겟 컨테이너가 주어진 컴퍼넌트에 대한 레이아웃의 최대 사이즈를 돌려줍니다.
 Dimension minimumLayoutSize (Container  target)
          이 레이아웃 매니저를 사용하는 target 컨테이너의 최소 사이즈를 판정합니다.
 Dimension preferredLayoutSize (Container  target)
          컨테이너내의 컴퍼넌트에 근거해, 이 레이아웃 매니저를 사용하는 target 컨테이너의 추천 사이즈를 판정합니다.
 void removeLayoutComponent (Component  comp)
          이 보더 레이아웃으로부터, 지정된 컴퍼넌트를 삭제합니다.
 void setHgap (int hgap)
          컴퍼넌트간의 수평 방향의 간격을 설정합니다.
 void setVgap (int vgap)
          컴퍼넌트간의 수직 방향의 간격을 설정합니다.
 String toString ()
          이 보더 레이아웃 상태를 나타내는 캐릭터 라인 표현을 돌려줍니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait
 

필드의 상세

NORTH

public static final String  NORTH
north 의 레이아웃 제약 (컨테이너의 상단)입니다.

관련 항목:
정수 필드치

SOUTH

public static final String  SOUTH
south 의 레이아웃 제약 (컨테이너의 하단)입니다.

관련 항목:
정수 필드치

EAST

public static final String  EAST
east 의 레이아웃 제약 (컨테이너의 우단)입니다.

관련 항목:
정수 필드치

WEST

public static final String  WEST
west 의 레이아웃 제약 (컨테이너의 좌단)입니다.

관련 항목:
정수 필드치

CENTER

public static final String  CENTER
center 의 레이아웃 제약 (컨테이너 속앙)입니다.

관련 항목:
정수 필드치

BEFORE_FIRST_LINE

public static final String  BEFORE_FIRST_LINE
PAGE_START 와 같은 의미를 가집니다. 이전의 버젼과의 호환성을 위해서(때문에) 남아 있습니다. PAGE_START 를 사용하는 것을 추천 합니다.

도입된 버젼:
1.2
관련 항목:
PAGE_START , 정수 필드치

AFTER_LAST_LINE

public static final String  AFTER_LAST_LINE
PAGE_END 와 같은 의미를 가집니다. 이전의 버젼과의 호환성을 위해서(때문에) 남아 있습니다. 가능한 한 PAGE_END 를 사용합니다.

도입된 버젼:
1.2
관련 항목:
PAGE_END , 정수 필드치

BEFORE_LINE_BEGINS

public static final String  BEFORE_LINE_BEGINS
LINE_START 와 같은 의미를 가집니다. 이전의 버젼과의 호환성을 위해서(때문에) 남아 있습니다. 가능한 한 LINE_START 를 사용합니다.

도입된 버젼:
1.2
관련 항목:
LINE_START , 정수 필드치

AFTER_LINE_ENDS

public static final String  AFTER_LINE_ENDS
LINE_END 와 같은 의미를 가집니다. 이전의 버젼과의 호환성을 위해서(때문에) 남아 있습니다. 가능한 한 LINE_END 를 사용합니다.

도입된 버젼:
1.2
관련 항목:
LINE_END , 정수 필드치

PAGE_START

public static final String  PAGE_START
컴퍼넌트는 레이아웃의 내용의 선두행의 전에 배치됩니다. WEST 로부터 봐 왼쪽에서 오른쪽, 위에서 아래로 배치를 하는 경우, 이것은 NORTH 와 같게 됩니다.

도입된 버젼:
1.4
관련 항목:
Component.getComponentOrientation() , 정수 필드치

PAGE_END

public static final String  PAGE_END
컴퍼넌트는 레이아웃의 내용의 맨 마지막 줄의 후에 배치됩니다. WEST 로부터 봐 왼쪽에서 오른쪽, 위에서 아래로 배치를 하는 경우, 이것은 SOUTH 와 같게 됩니다.

도입된 버젼:
1.4
관련 항목:
Component.getComponentOrientation() , 정수 필드치

LINE_START

public static final String  LINE_START
컴퍼넌트는 레이아웃의 행방향의 선두에 배치됩니다. WEST 로부터 봐 왼쪽에서 오른쪽, 위에서 아래로 배치를 하는 경우, 이것은 WEST 와 같게 됩니다.

도입된 버젼:
1.4
관련 항목:
Component.getComponentOrientation() , 정수 필드치

LINE_END

public static final String  LINE_END
컴퍼넌트는 레이아웃의 행방향의 마지막에 배치됩니다. WEST 로부터 봐 왼쪽에서 오른쪽, 위에서 아래로 배치를 하는 경우, 이것은 EAST 와 같게 됩니다.

도입된 버젼:
1.4
관련 항목:
Component.getComponentOrientation() , 정수 필드치
생성자 의 상세

BorderLayout

public BorderLayout()
컴퍼넌트간에 간격을 마련하지 않고 , 새로운 보더 레이아웃을 구축합니다.


BorderLayout

public BorderLayout(int hgap,
                    int vgap)
컴퍼넌트간에 간격을 지정해, 새로운 보더 레이아웃을 구축합니다. 수평 방향의 간격은 hgap 에 의해 지정되어 수직 방향의 간격은 vgap 에 의해 지정됩니다.

파라미터:
hgap - 수평 방향의 간격
vgap - 수직 방향의 간격
메소드의 상세

getHgap

public int getHgap()
컴퍼넌트간의 수평 방향의 간격을 돌려줍니다.

도입된 버젼:
JDK1. 1

setHgap

public void setHgap(int hgap)
컴퍼넌트간의 수평 방향의 간격을 설정합니다.

파라미터:
hgap - 컴퍼넌트간의 수평 방향의 간격
도입된 버젼:
JDK1. 1

getVgap

public int getVgap()
컴퍼넌트간의 수직 방향의 간격을 돌려줍니다.

도입된 버젼:
JDK1. 1

setVgap

public void setVgap(int vgap)
컴퍼넌트간의 수직 방향의 간격을 설정합니다.

파라미터:
vgap - 컴퍼넌트간의 수직 방향의 간격
도입된 버젼:
JDK1. 1

addLayoutComponent

public void addLayoutComponent(Component  comp,
                               Object  constraints)
지정된 제약 객체를 사용해, 지정된 컴퍼넌트를 레이아웃에 추가합니다. 경계 레이아웃에서는, 제약은, 정수 NORTH,SOUTH,EAST,WEST, 또는 CENTER 의 언젠가일 필요가 있습니다.  

대부분의 어플리케이션은 이 메소드를 직접은 호출하지 않습니다. 이 메소드는, 같은 인수의 형태로 Container.add 메소드를 사용해 컴퍼넌트가 컨테이너에 추가되었을 때에 불려 갑니다.

정의:
인터페이스 LayoutManager2 내의 addLayoutComponent
파라미터:
comp - 추가되는 요소
constraints - 컴퍼넌트가 레이아웃에 추가된다 방법과 장소를 지정하는 객체
예외:
IllegalArgumentException - 제약 객체가 캐릭터 라인이 아닌 경우, 또는 지정된 5 개의 정수의 어떤 것도 아닌 경우
도입된 버젼:
JDK1. 1
관련 항목:
Container.add(java.awt.Component, java.lang.Object)

addLayoutComponent

@Deprecated 
public void addLayoutComponent(String  name,
                                          Component  comp)
추천 되고 있지 않습니다.  addLayoutComponent(Component, Object) 로 옮겨졌습니다.

인터페이스 LayoutManager 의 기술:
레이아웃 매니저가 컴퍼넌트마다의 캐릭터 라인을 사용하는 경우, 레이아웃에 컴퍼넌트의 comp 를 추가해,name 에 의해 지정된 캐릭터 라인에 관련짓습니다.

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

removeLayoutComponent

public void removeLayoutComponent(Component  comp)
이 보더 레이아웃으로부터, 지정된 컴퍼넌트를 삭제합니다. 이 메소드는, 컨테이너가 remove 메소드 또는 removeAll 메소드를 호출했을 때에 불려 갑니다. 대부분의 어플리케이션은 이 메소드를 직접은 호출하지 않습니다.

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

getLayoutComponent

public Component  getLayoutComponent(Object  constraints)
지정된 제약으로 추가된 컴퍼넌트를 가져옵니다.

파라미터:
constraints - 목적의 제약. CENTER, NORTH,SOUTH, WEST,EAST, PAGE_START,PAGE_END, LINE_START,LINE_END 의 언젠가
반환값:
지정된 장소의 컴퍼넌트. 장소가 빈 상태(empty)의 경우는 null
예외:
IllegalArgumentException - 제약 객체가 지정된 9 개의 정수의 어떤 것도 아닌 경우
도입된 버젼:
1.5
관련 항목:
addLayoutComponent(java.awt.Component, java.lang.Object)

getLayoutComponent

public Component  getLayoutComponent(Container  target,
                                    Object  constraints)
목적의 Container 의 컴퍼넌트 방향에 근거해, 지정된 제약의 장소에 대응하는 컴퍼넌트를 돌려줍니다. 상대적인 제약 PAGE_START,PAGE_END,LINE_START, 및 LINE_END 를 지정해 추가된 컴퍼넌트는, 명시적인 제약 NORTH,SOUTH,WEST, 및 EAST 를 지정해 추가된 컴퍼넌트보다 우선됩니다. Container 의 컴퍼넌트 방향은,LINE_STARTLINE_END 를 지정해 추가된 컴퍼넌트의 장소를 판정하기 위해서 사용됩니다.

파라미터:
constraints - 목적의 절대 위치. CENTER, NORTH,SOUTH, EAST,WEST 의 어느쪽이든
target - 제약의 장소를 취득하기 위해서 사용하는 Container. 제약의 장소는,Container 의 컴퍼넌트 방향에 근거해 판정된다
반환값:
지정된 장소의 컴퍼넌트. 장소가 빈 상태(empty)의 경우는 null
예외:
IllegalArgumentException - 제약 객체가 지정된 5 개의 정수의 어떤 것도 아닌 경우
NullPointerException - target 파라미터가 null 의 경우
도입된 버젼:
1.5
관련 항목:
addLayoutComponent(java.awt.Component, java.lang.Object)

getConstraints

public Object  getConstraints(Component  comp)
지정된 컴퍼넌트의 제약을 가져옵니다.

파라미터:
comp - 조회되는 컴퍼넌트
반환값:
지정된 컴퍼넌트의 제약. 컴퍼넌트가 null 인가, 이 레이아웃에 존재하지 않는 경우는 null
도입된 버젼:
1.5
관련 항목:
addLayoutComponent(java.awt.Component, java.lang.Object)

minimumLayoutSize

public Dimension  minimumLayoutSize(Container  target)
이 레이아웃 매니저를 사용하는 target 컨테이너의 최소 사이즈를 판정합니다.  

이 메소드는, 컨테이너가 getMinimumSize 메소드를 호출했을 때에 불려 갑니다. 대부분의 어플리케이션은 이 메소드를 직접은 호출하지 않습니다.

정의:
인터페이스 LayoutManager 내의 minimumLayoutSize
파라미터:
target - 배치를 하는 컨테이너
반환값:
지정된 컨테이너의 서브 컴퍼넌트를 배치하기 위해서 필요한 최소의 치수
관련 항목:
Container , preferredLayoutSize(java.awt.Container) , Container.getMinimumSize()

preferredLayoutSize

public Dimension  preferredLayoutSize(Container  target)
컨테이너내의 컴퍼넌트에 근거해, 이 레이아웃 매니저를 사용하는 target 컨테이너의 추천 사이즈를 판정합니다.  

대부분의 어플리케이션은 이 메소드를 직접은 호출하지 않습니다. 이 메소드는, 컨테이너가 getPreferredSize 메소드를 호출했을 때에 불려 갑니다.

정의:
인터페이스 LayoutManager 내의 preferredLayoutSize
파라미터:
target - 배치를 하는 컨테이너
반환값:
지정된 컨테이너의 서브 컴퍼넌트를 배치하기 위한 바람직한 치수
관련 항목:
Container , minimumLayoutSize(java.awt.Container) , Container.getPreferredSize()

maximumLayoutSize

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

정의:
인터페이스 LayoutManager2 내의 maximumLayoutSize
파라미터:
target - 레이아웃 할 필요가 있는 컴퍼넌트
관련 항목:
Container , minimumLayoutSize(java.awt.Container) , preferredLayoutSize(java.awt.Container)

getLayoutAlignmentX

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

정의:
인터페이스 LayoutManager2 내의 getLayoutAlignmentX

getLayoutAlignmentY

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

정의:
인터페이스 LayoutManager2 내의 getLayoutAlignmentY

invalidateLayout

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

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

layoutContainer

public void layoutContainer(Container  target)
이 보더 레이아웃을 사용해 컨테이너 인수를 배치합니다.  

실제로는 이 메소드는, 이 BorderLayout 객체의 제약을 채우기 위해서(때문에), 지정된 컨테이너내의 컴퍼넌트의 형상을 변경합니다. NORTH 컴퍼넌트 및 SOUTH 컴퍼넌트가 있는 경우, 그것들은 컨테이너의 각각 상부 및 하부에 배치됩니다. WEST 컴퍼넌트 및 EAST 컴퍼넌트는, 각각 왼쪽 및 오른쪽으로 배치됩니다. CENTER 객체는 중앙의 나머지의 스페이스에 배치됩니다.  

대부분의 어플리케이션은 이 메소드를 직접은 호출하지 않습니다. 이 메소드는, 컨테이너가 doLayout 메소드를 호출했을 때에 불려 갑니다.

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

toString

public String  toString()
이 보더 레이아웃 상태를 나타내는 캐릭터 라인 표현을 돌려줍니다.

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

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 도 참조해 주세요.