Swing
- Java Application에서 사용되는 GUI를 제공하는 추상적으로 정의된 도구 모음
- Container
- 다른 컴포넌트들을 배치하기 위한 컴포넌트
- Container는 다른 Container를 포함할 수 있고 나중에 복합적인 Layout을 구성할 수 있게 한다.
- JFrame : 독립적으로 사용될 수 있으며 타이틀과 사이즈를 조절할 수 있는 버튼을 가짐
- JPanel : 반드시 다른 Container에 포함되어야 하며 복합적인 레이아웃 구성에 사용
Layout과 LayoutManager
- Layout : Component들을 Container에 어떻게 배치할 것인가
- LayoutManager : Container별로 Component의 위치와 크기, 배치 방식을 결정하는 객체
- JFrame의 기본 Layout - BorderLayout
BorderLayout
- 특별한 영역(North, South, West, East, Center)에 각각의 컴포넌트 배치
- 각각의 영역에는 하나의 컴포넌트를 담을 수 있고 중복해서 담는 경우는 마지막에 담은 컴포넌트만 보인다.
- 크기 조절할 때 North와 South는 좌우로, East와 West는 상하로만 늘어난다. Center의 경우는 양방향
- 생성자에서 수직, 수평 간격을 조절 가능
setLayout(new BorderLayout(int hgap, int vgap))