소프트웨어공학

Java 언어_레이아웃, GUI Layout Manager 배치관리자

스윙스윙 2021. 12. 16. 15:47

▣ Java 언어_레이아웃, GUI Layout Manager 배치관리자

 

컨테이너 안에 추가되는 컴포넌트의 위치와 크기를 자동적으로 결정

 

FlowLayout

컴포넌트들을 왼쪽에서 오른쪽으로 배치

- JPanel Applet(awt.애플릿)의 디폴트 배치 관리자

- 공간이 부족하면, 아랫줄에 추가됨

 

 

BorderLayout

- 컴포넌트들이 상(North), (South), (East), (West) 그리고 중간(Center)에 배치

- JFrame JApplet(swing.애플릿), 대화 상자와 같은 최상위 컨테이너의 디폴트 배치 관리자

- 컴포넌트의 영역을 지정하지 않을 경우 자동으로 중간 영역에 배치됨

- 같은 위치에 컴포넌트들이 추가되면 뒤 컴포넌트에 가려서 앞의 컴포넌트가 보이지 않음

- 배치된 컴포넌트는 항상 컨테이너 내부를 채우게 되며, setLocation, setSize 함수로 크기나 위치조절이 되지 않음

(확인 결과 West, East의 경우 너비 조절은 가능하나 높이 조절은 안됨)

- 만약 NORTH 또는 SOUTH 영역이 채워지지 않으면, EAST, WEST, CENTER 영역이 커져서 전체 영역을 채움

- EAST 또는 WEST 영역이 채워지지 않으면, CENTER 영역이 커져서 빈 영역을 채움

 

 

 

 GridLayout

- 컴포넌트를 격자 모습으로 배치( 행과 열로 관리 )

- 모든 컴포넌트들의 크기는 같게 되며 컨테이너의 모든 공간은 컴포넌트로 채워짐

따라서 윈도우의 크기를 바꾸면 GridLayout은 컴포넌트의 크기를 변경하여 윈도우의 크기에 맞춤

 

 BoxLayout

컴포넌트를 하나의 행이나 열에 배치하며, Box를 쌓는 모양으로 정렬

 

 

■ CardLayout

- 여러 장의 카드처럼 컨테이너를 배치하여 각각의 컨테이너 위에 컴포넌트(JComponent)를 배치

- 즉, 순서가 변경되면, 해당 순서의 컨테이너가 나타나고, 그 외의 것은 감추어진다. 카드가 번갈아가며 나타나는 형태

 

 


2013년 41번

정답 : 1번

 BorderLayout

- 컴포넌트들이 상(North), (South), (East), (West) 그리고 중간(Center)에 배치

- JFrame JApplet(swing.애플릿), 대화 상자와 같은 최상위 컨테이너의 디폴트 배치 관리자

- 컴포넌트의 영역을 지정하지 않을 경우 자동으로 중간 영역에 배치됨

- 같은 위치에 컴포넌트들이 추가되면 뒤 컴포넌트에 가려서 앞의 컴포넌트가 보이지 않음

- 배치된 컴포넌트는 항상 컨테이너 내부를 채우게 되며, setLocation, setSize 함수로 크기나 위치조절이 되지 않음

(확인 결과 West, East의 경우 너비 조절은 가능하나 높이 조절은 안됨)

- 만약 NORTH 또는 SOUTH 영역이 채워지지 않으면, EAST, WEST, CENTER 영역이 커져서 전체 영역을 채움

- EAST 또는 WEST 영역이 채워지지 않으면, CENTER 영역이 커져서 빈 영역을 채움