Java 69(배치관리자 null)

Kang.__.Mingu·2024년 5월 18일
0

Java

목록 보기
71/108

배치관리자(LayoutManager)

  • 컨테이너에 컴포넌트를 자동으로 배치하기 위한 기능을 제공하는 객체

    • BorderLayout, FlowLayout, GridLayout, CardLayout, GridBagLayout 등
  • BorderLayout: Frame, Window, Dialog

  • FlowLayout: Panel, Applet

  • Container.sayLayout(LayoutManager mgr)

    • 매개변수로 전달받은 LayoutManger 객체로 컨테이너의 배치 관리자를 변경하는 메소드

    • 매개변수에 [null]를 전달한 경우 배치관리자를 사용하지 않도록 설정


NonLayoutManagerApp

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 설정

profile
최선을 다해 꾸준히 노력하는 개발자 망고입니당 :D

0개의 댓글