본문 바로가기

Java

JAVA/자바/Frame 클래스를 이용해서 윈도우 창 띄우기

Frame 클래스의 객체를 생성하여, 또는 Frame 클래스를 상속받아서 윈도우 창을 띄워서 작업해보자.

 

1. 먼저 Frame 클래스의 객체를 생성해서 윈도우 창 띄우기.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import java.awt.Color;
import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Random;
 
//    Frame 클래스 객체를 생성해서 윈도우 띄우기
public class WindowTest {
 
    public static void main(String[] args) {
        
//        Frame window = new Frame();                                    // 제목 없는 윈도우를 만든다.
        Frame window = new Frame("제목 있는 윈도우");                // 제목 있는 윈도우를 만든다.
        window.setTitle("setTitle로 제목 변경이 가능해요");            // 윈도우 제목을 변경한다.
//        window.setSize(400, 300);                                    // 윈도우 창 크기 변경한다. 
//        window.setLocation(800, 100);                                // 윈도우가 모니터에 표시되는 위치를 변경한다.
        window.setBounds(800100400300);                          // 윈도우의 위치와 크기를 한꺼번에 변경한다.
        window.setBackground(Color.ORANGE);                            // 윈도우의 배경색을 변경한다. 총 13가지의 색이 있다.
            
        
//        Frame 클래스를 이용해 윈도우를 띄웠을 경우 윈도우 닫기        
        window.addWindowListener(new WindowAdapter() {
//        윈도우 닫기 버튼을 클릭하면 자동으로 실행되는 메소드(콜백 메소드)인 windowClosing() 메소드를 Override 해서 윈도우를 닫는 코드를 넣어준다.
            @Override
            public void windowClosing(WindowEvent e) {
//                System.exit(0);        //    프로그램을 강제로 종료한다. 모든 윈도우를 닫는다. => 모든 윈도우를 닫는다.
                window.dispose();     //    윈도우가 사용하던 자원을 컴퓨터 시스템에게 반납한다.    => 현재 윈도우만 닫는다.
            }            
        });
                
        window.setVisible(true);    
        
    }    
}
 
cs

 

2. Frame 클래스를 상속받아서 윈도우 창 띄우기.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import java.awt.Color;
import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Random;
 
//    Frame 클래스를 상속받아 윈도우 만들기 
//    Frame 클래스를 상속받으면 현재 클래스 WindowTest2는 Frame 클래스의 모든 기능을 가지게 되므로 현재 클래스가 생성될 때 생성자에서 윈도우에 대한 설정을 하고 
// main() 메소드에서 자신의 객체를 생성하면 윈도우가 만들어진다.
public class WindowTest2 extends Frame{
 
    public WindowTest2() {        // 기본생성자 : 기본적으로 제목 없음 상태
        this("제목 없는 윈도우");
    }
    public WindowTest2(String title) {
        setTitle(title);
        setBounds(800100400300);
        setBackground(Color.black);
        addWindowListener(new WindowAdapter() {            
            @Override
            public void windowClosing(WindowEvent e) {
//                System.exit(0);
                dispose();
            }
        });
        setVisible(true);
    }
    
    
    public static void main(String[] args) {
        
        WindowTest2 window = new WindowTest2();
        new WindowTest2("제목 있는 원도우");
        
    }
}
 
cs