MyWin.java
MyWindowEventListener.java
package mymain;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
//Window Event를 처리하려면 WindowListener interface를 implements해놔야
// JVM이 이 interface를 이용해서 Callback(자동호출)해준다
public class MyWindowEventListener implements WindowListener {
@Override
public void windowOpened(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("--windowOpened--");
}
@Override
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("--windowClosing--");
//프로그램 종료
System.exit(0);
}
@Override
public void windowClosed(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("--windowClosed--");
}
@Override
public void windowIconified(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("--windowIconified--");
}
@Override
public void windowDeiconified(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("--windowDeiconified--");
}
@Override
public void windowActivated(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("--windowActivated--");
}
@Override
public void windowDeactivated(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("--windowDeactivated--");
}
}
package mymain;
import java.awt.event.WindowListener;
import javax.swing.JFrame;
// awt ->확장 -> swing
// Frame JFrame
public class MyWin extends JFrame {
public MyWin() {
// TODO Auto-generated constructor stub
super("내가만든 윈도우");
//위치
//this.setLocation(200, 100);
//크기지정
//this.setSize(400, 300);
// 위치 + 크기정보
this.setBounds(200, 100, 400, 300);
//보여줘라
this.setVisible(true);
//종료코드
//this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//윈도우 이벤트 처리 객체 생성
// interface class
WindowListener listener = new MyWindowEventListener();
//현재윈도우에서 발생되는 모든 이벤트 listener에게 위임함
this.addWindowListener(listener);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new MyWin();
}
}