즐거운프로그래밍

[자바] GUI 프로그램 기본 구조 예제

수수께끼 고양이 2023. 10. 23. 13:44
728x90
반응형
import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

public class Main {
    public static void main(String[] args) {
        Frame frame = new Frame();
        frame.setTitle("액자");
        frame.setBounds(100, 100, 600, 400);
        frame.setVisible(true);

//        Frame frame2 = new Frame();
//        frame2.setTitle("액자2");
//        frame2.setBounds(150, 150, 640, 480);
//        frame2.setVisible(true);

//        System.out.println("return from main!!!");


//        실행창 종료 처리하기
        frame.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                super.windowClosing(e);
                System.out.println("windowClosing");
                System.exit(0);
            }
        });


            frame.addWindowListener(new MyWL()); {}
            frame.addWindowListener(new MyWA() {
                public void windowClosing(WindowEvent e) {
                    super.windowClosing(e);
                    System.exit(0);
                }
            });




        frame.addWindowListener(new MyWindowAdapter());
        frame.addWindowListener(new MyWindowAdapter() {
            public void windowClosing(WindowEvent e) {
                super.windowClosing(e);
                System.exit(0);
            }
        });
    }
}


class MyWindowAdapter extends WindowAdapter {
    public void windowClosing(WindowEvent e) {
        super.windowClosing(e);
        System.exit(0);
    }
}


class MyWL implements WindowListener {

    @Override
    public void windowOpened(WindowEvent e) {
        System.out.println("A");
    }

    @Override
    public void windowClosing(WindowEvent e) {
        System.out.println("B");
    }

    @Override
    public void windowClosed(WindowEvent e) {
        System.out.println("C");
    }

    @Override
    public void windowIconified(WindowEvent e) {
        System.out.println("D");
    }

    @Override
    public void windowDeiconified(WindowEvent e) {
        System.out.println("E");
    }

    @Override
    public void windowActivated(WindowEvent e) {
        System.out.println("F");
    }

    @Override
    public void windowDeactivated(WindowEvent e) {
        System.out.println("G");
    }
}




abstract class MyWA implements WindowListener {

    @Override
    public void windowOpened(WindowEvent e) {
        System.out.println("A");
    }

    @Override
    public void windowClosing(WindowEvent e) {
        System.out.println("B");
    }

    @Override
    public void windowClosed(WindowEvent e) {
        System.out.println("C");
    }

    @Override
    public void windowIconified(WindowEvent e) {
        System.out.println("D");
    }

    @Override
    public void windowDeiconified(WindowEvent e) {
        System.out.println("E");
    }

    @Override
    public void windowActivated(WindowEvent e) {
        System.out.println("F");
    }

    @Override
    public void windowDeactivated(WindowEvent e) {
        System.out.println("G");
    }
}

 

728x90
반응형