Layout Manager(레이아웃 관리자) - 3가지 대표적인 Layout Manager
1.BorderLayout
BorderLayout 관리자는 배경 구성요소를 지역 다섯 개로 나눈다. BorderLayout 관리자에 의해 제어되는 배경에는 각 지역별로 구성요소 하나씩만 집어넣을 수 있다.
이 관리자에서 배치하는 구성요소는 일반적으로 요청한 크기대로 만들어지지 않는다.
BorderLayout은 프레임의 기본 Layout Manager이다.
BorderLayout에는 지역이 다섯 개 있다. EAST, WEST, NORTH, SOUTH, CENTER
BorderLayout에서 북쪽과 남쪽에 들어가는 구성요소의 높이는 원하는 대로 되지만 너비는 원하는 대로 되지 않는다. 동쪽과 서쪽에 들어가는 구성요소는 너비만 원하는대로 되고 높이는 그렇지 않다. 중앙에 들어가는 구성요소는 (pack()을 사용하는 경우를 제외하면) 그냥 남은 자리를 차지하게 된다.
pack() 메소드는 구성요소를 감싸는 랩과 비슷하다. 중앙에 들어가는 구성요소의 원하는 크기를 바탕으로 중앙을 시작점으로 하여 나머지 영역에 있는 것을 만드는 과정을 통해 프레임의 크기를 결정한다.
2.FlowLayout
FlowLayout 관리자는 단어가 아닌 구성요소를 배치한다는 점을 제외하면 워드 프로세서와 비슷한 식으로 작동한다. 각 구성요소의 크기는 그 구성요소에서 요청한대로
정해지며 추가된 순서대로, 그리고 '왼쪽 맞춤' 형태로 왼쪽에서 오른쪽으로 배치된다. 어떤 구성요소가 수평방향으로 들어맞지 않으면 다음 '행'에 배치된다.
FlowLayout은 패널의 기본 Layout Manager이다.
패널에서 FlowLayout이 아닌 다른 레이아웃 관리자를 사용하고 싶다면 패널에 대해 setLayout()을 호출한다.
3.BoxLayout
BoxLayout 관리자는 각 구성요소마다 요청한 크기대로 만들어질 수 있다는 것, 그리고 추가된 순서대로 배치된다는 면에서 볼 때 FlowLayout과 비슷하다.
그러나 구성요소를 수직 방향으로 쌓을 수 있다는 점에서 FlowLayout과 다르다.(수평 방향으로 나열할 수도 있지만 수직 방향으로 늘어놓는 경우가 훨씬 많다.)
즉, FlowLayout과 비슷한데, 각 구성요소를 추가한 다음 매번 엔터키를 강제로 줄을 바꾸는 것이라고 생각해도 된다.
'개발 및 관리 > Java' 카테고리의 다른 글
JTextArea (0) | 2013.01.24 |
---|---|
JTextField (0) | 2013.01.24 |
SWING, AWT, SWT (0) | 2013.01.24 |
Animate.java - Head First Java p.412 (0) | 2013.01.24 |
Head First Java - 12장 GUI 정리 (0) | 2013.01.24 |