[Java] java.awt 패키지 - Frame

chael_lo·2021년 5월 21일
0

Java

목록 보기
38/52

Frame은 메뉴가 있는 창을 만들기 위한 컨테이너 클래스다.

Frame의 특징

  • 프레임 클래스는 컴퍼넌트, 컨테이너 클래스를 모두 부모 클래스로 상속받고 있어서
    부모 클래스의 메서드를 사용할 수 있다.
  • 프레임의 기본 배치 관리자BorderLayout으로 설정되어 있다.
  • 메인 메소드 안에 프레임 클래스를 import해 참조변수로 만들어서 사용하기 보다는
    프레임을 상속받는 클래스를 만들어서 사용하는 것이 좋다.

Frame을 상속 받지 않는 클래스와 Frame을 상속받는 클래스 비교

Frame을 상속 받지 않는 클래스

package xyz.itwill.awt;

import java.awt.Frame;

public class FrameOneApp {
	//main 메서드 안에 프레임 바로 생성
	public static void main(String[] args) {
		Frame f=new Frame("프레임");//제목이 있는 프레임 생성
        
		//프레임에 대한 디자인 작업
		f.setBounds(600, 100, 300, 400);
		f.setResizable(false);
		f.setVisible(true);
	}
}

Frame을 상속받는 클래스(권장)

package xyz.itwill.awt;

import java.awt.Frame;
//프레임 클래스 상속
public class FrameTwoApp extends Frame{
	private static final long serialVersionUID = 1L;

	//생성자를 이용하여 프레임에 대한 디자인 작업
	public FrameTwoApp(String title) {
		//super 키워드를 이용하여 Frame 클래스의 생성자 호출 - 프레임 제목 설정
		super(title);
		
		//Frame 인스턴스(this에서 먼저 찾고 없으면 super)의 메소드를 호출하여 프레임에 대한 디자인 작업
		setBounds(600,100,300,400);
		setVisible(true);
	}
	
	//메인 메소드에 프레임 생성
	public static void main(String[] args) {
		//Frame 클래스를 상속받은 자식 클래스로 인스턴스 생성
		//Frame 인스턴스 생성 - 프레임 생성
		new FrameTwoApp("title");//생성자의 명령 실행
	}
}

Frame 메서드 종류

Frame.setTitle(String title)

프레임의 제목을 변경하는 메소드다.

Frame.setResizable(boolean b)

프레임의 크기 변경 여부를 설정하는 메소드다.

profile
천천히 꾸준히

0개의 댓글