본문 바로가기
Java

[Java Swing] 기본 구조

by 스응 2023. 2. 14.
728x90
728x90

기본 구조

// 항상 JFrame 클래스로부터 상속받아야 함
public class 클래스명 extends JFrame {

    // 멤버변수 선언 //
    private 자료형 컴포넌트명; // ex) private JButton button1;
    private 자료형 배치관리자명; // ex) private FlowLayout flowLayout;

    // 생성자 //
    public 클래스명() {
        initData();
        setInitLayout();
    }

    // 생성자에 사용할 메서드 //
    public void initData() {
    	// 창 제목
        setTitle("제목");
        // 창 크기
        setSize(가로크기, 세로크기);
        // 창을 끄면 프로그램도 같이 종료되도록 함
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // 창 크기 조절 가능 여부 (기본값 = true)
        setResizable(boolean);
        // 창을 화면 가운데에 띄움
        setLocationRelativeTo(null);
		
        // 컴포넌트들의 인스턴스화
        컴포넌트명 = new 자료형(매개변수);
        // ex) button1 = new JButton("버튼이름");
        
        // 배치 관리자의 인스턴스화 
        배치관리자명 = new 자료형(매개변수);
        // ex) flowLayout = new FlowLayout(FlowLayout.LEFT, 10, 200);
    }

    // 생성자에 사용할 메서드 //
    public void setInitLayout() {
        // 레이아웃 지정
        setLayout(배치관리자명); // ex) setLayout(flowLayout);

        // 컴포넌트 추가 (생략 시 화면에 컴포넌트가 나타나지 않음)
        add(컴포넌트명); // ex) add(button1);

        // 창을 보이게 함 (기본값 = false)
        setVisible(true);
    }

    // 코드 테스트 //
    public static void main(String[] args) {
        new 클래스명();
    }

}

 

  - 항상 JFrame 클래스로부터 상속받아야 함

  - setVisible() 메서드의 위치에 따라 요소가 보이지 않을 수도 있으므로, 가장 마지막 순서로 배치

  - JFrame에 빨간 글씨가 뜨면 [Ctrl] + [Space]로 import 명령어를 불러와야 함

320x100
반응형

'Java' 카테고리의 다른 글

[Java Swing] 컴포넌트 (Component)  (0) 2023.02.14
[Java Swing] 배치 관리자 (Layout)  (0) 2023.02.14
[Java] Object 클래스  (0) 2023.02.14
[Java] 인터페이스와 default 메서드  (0) 2023.02.13
[Java] String 클래스의 메서드  (0) 2023.02.13

댓글