💬 컨테이너는 하나의 배치관리자를 가진다
💬 배치관리자는 java.awt 패키지의 클래스들이다.
💬 FlowLayout : 삽입되는 순서대로 왼쪽에서 오른쪽으로 배치, 더 이상 배치할 공간이 없으면 아래로 내려와 다시 왼쪽에서 오른쪽으로 배치한다.
💬 BorderLayout : 공간을 동, 서, 남, 북, 중앙으로 나누고, 응용프로그램에서 지정한 영역에 배치한다.
💬 GridLayout : 공간을 응용프로그램에서 설정한 동일한 크기의 2차원 그리드로 나누고, 들어오는 순서대로 FlowLayout과 똑같이 배치한다.
💬 CardLayout : 카드를 쌓아 놓은 듯이 포개어 배치한다. 컴포넌트의 크기는 컨테이너의 크기와 일치한다.
JPanel p = new JPanel();
p.setLayout(new BorderLayout()); // new를 빼면 오류.
💬 컴포넌트들이 서로 겹치도록 배치할 수 있다.
💬 배치관리자가 없으면, 컴포넌트가 화면에 나타나지 않기 때문에 응용프로그램에서 컴포넌트의 크기와 위치를 직접 설정해야 한다.
void setSize(int width, int height) // 컴포넌트를 width x height 크기로 설정
void setLocation(int x, int y) // 컴포넌트의 왼쪽 상단 모서리 좌표를 (x,y)로 설정
void setBounds(int x, int y, int width, int height) // 크기와 위치 설정
JPanel panel = new JPanel();
panel.setLayout(null); // 패널 panel의 배치관리자 제거
JButton clickButton = new JButton("Click");
clickButton.setSize(100, 40); // 버튼 크기 지정
clickButton.setLocation(50, 50); // 버튼 위치 지정
panel.add(clickButton); // 패널 내의 (50, 50) 위치에 100x40 크기의 버튼 출력