: component를 위한 공간을 제공한다.
: 고유한 Layout을 갖는 sub-panel을 혀용한다.
: 생성된 후 Window 나 Frame에 붙여져야만 보여질수 있다.
: Default Layout manager로 FlowLayout(순서대로 일렬 부착)을 갖는다.
: setLayout() 을 이용해 Layout을 설정할수 있다.
: this.setLayout(new FlowLayout());
- JframeTest2.java 소스
import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JButton;
public class JframeTest2 extends JFrame {
JButton northbutton, southbutton, eastbutton, westbutton, centerbutton;
public JframeTest2(){
// 닫기 버튼을 누르면 메모리에서 해제
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// jframe 속성을 패널의 기본인 Flowlayout으로 변경
this.setLayout(new FlowLayout());
// 객체 생성
northbutton = new JButton("북쪽");
southbutton = new JButton("남쪽");
eastbutton = new JButton("동쪽");
westbutton = new JButton("서쪽");
centerbutton = new JButton("중앙");
// 컨테이너에 컴포넌트들을 부착
this.add("North", northbutton);
this.add("South", southbutton);
this.add("East", eastbutton);
this.add("West", westbutton);
this.add(centerbutton); // 위치를 작성하지 않으면 기본으로 Center에 들어감
this.setSize(400, 300);
this.setVisible(true);
}
public static void main(String[] args) {
new JframeTest2();
}
}
- 결과
- PanelTest.java 소스
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JPanel;
public class PanelTest extends JFrame {
JButton northbutton, southbutton, eastbutton, westbutton, centerbutton;
JPanel panel; // 패널
public PanelTest(){
// 닫기 버튼을 누르면 메모리에서 해제
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel = new JPanel();
// 객체 생성
northbutton = new JButton("북쪽");
southbutton = new JButton("남쪽");
eastbutton = new JButton("동쪽");
westbutton = new JButton("서쪽");
centerbutton = new JButton("중앙");
// 패널에 버튼들을 추가
panel.add(northbutton);
panel.add(southbutton);
panel.add(eastbutton);
panel.add(westbutton);
panel.add(centerbutton);
this.add("South", panel); // 서쪽에 다 붙임
this.setSize(400, 300);
this.setVisible(true);
}
public static void main(String[] args) {
new PanelTest();
}
}
- 결과