[swing] JFrame

jmkim·2023년 6월 22일
0

swing

목록 보기
1/9

JFrame

JFrame은 프로그램의 창을 구현하는 클래스이다.

다른 그래픽 컴포넌트를 보여주는 역할을 수행한다.


주요 메소드

setTitle(String title)
frame의 제목을 지정하는 메소드

setSize(int width, int height)
frame의 크기를 지정하는 메소드

setLocationRelativeTo(Component c)
윈도우 내에 frame 위치를 상대적으로 지정해주는 메소드
매개변수로 null 전달 시 윈도우 창 정가운데에 위치해준다.

setVisible(boolean b)
frame을 나타내거나 숨기는 메소드
다만, false일 경우 frame을 hide하기 때문에 destroy하고 싶을 경우 dispose 메소드를 사용해야 한다.

dispose()
frame을 종료하는 메소드
frame을 hide하는 것이 아니라 destory한다.

setDefaultCloseOperation(int operation)
창 닫힘 이벤트, 즉 frame의 X버튼 클릭 시의 이벤트를 지정하는 메소드
기본 값은 HIDE_ON_CLOSE으로 지정되어 있다.
따라서 X버튼을 눌러 종료하여도 실제로는 창이 종료된 것이 아닌 숨겨져 있는 것이기 때문에 모든 창을 종료해도 프로세스가 종료되지는 않는다.
따라서 X버튼을 눌렀을 때 창을 종료하고 싶을 경우 DISPOSE_ON_CLOSE를 사용해야한다.

  • HIDE_ON_CLOSE : 창을 숨긴다(hide)
  • DISPOSE_ON_CLOSE : 창을 종료한다(destroy)
  • EXIT_ON_CLOSE : 프로세스를 종료한다. (=System.exit(0))
  • DO_NOTHING_ON_CLOSE : 아무런 이벤트를 나타내지 않는다.

실습

package component;

import javax.swing.*;

public class Frame extends JFrame {

    public static void main(String[] args) {
        new Frame(800, 500, "테스트 프레임").setVisible(true);
    }

    public Frame(int w, int h, String title) {
        setTitle(title);
        setSize(w, h);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    }

}


추가 필요한 설명이 있으면 댓글로 달아주세요.

감사합니다. 😀

0개의 댓글