컨테이너에 컴포넌트를 자동으로 배치하기 위한 기능을 제공하는 객체
BorderLayout: Frame, Window, Dialog
FlowLayout: Panel, Applet
Container.sayLayout(LayoutManager mgr)
매개변수로 전달받은 LayoutManger 객체로 컨테이너의 배치 관리자를 변경하는 메소드
매개변수에 [null]를 전달한 경우 배치관리자를 사용하지 않도록 설정
public class NonLayoutManagerApp extends Frame {
public NonLayoutManagerApp(String title) {
super(title);
// Container.setLayout(LayoutManager mgr): 매개변수로 전달받은 LayoutManger 객체로
// 컨테이너의 배치 관리자를 변경하는 메소드
// => 매개변수에 [null]를 전달한 경우 배치관리자를 사용하지 않도록 설정
setLayout(null);
Button button1 = new Button("Button-1");
Button button2 = new Button("Button-2");
//배치관리자가 없는 컨테이너에 컴포넌트를 배치하기 위해서는 반드시 컴퍼넌트의 출력위치와
//크기를 변경한 후 컴퍼넌트를 컨테이너에 배치 처리
button1.setBounds(80, 100, 150, 80);
button2.setBounds(190, 300, 100, 120);
add(button1);
add(button2);
setBounds(600, 100, 400, 500);
setVisible(true);
}
public static void main(String[] args) {
new NonLayoutManagerApp("배치관리자 미사용 프레임");
}
}
null 설정
FlowLayout 설정
BorderLayout 설정