捕捉JDialog的关闭事件

捕捉JDialog的关闭事件

http://xxqn.iteye.com/blog/431190

  1. public class EditJDialog extends javax.swing.JDialog implements WindowListener{  
  2.       
  3.   
  4.     public EditJDialog(Frame owner, boolean modal) {  
  5.         super(owner, modal);  
  6.   
  7.         setSize(800, 600);  
  8.         setVisible(true);  
  9.         //setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);  
  10.         this.addWindowListener((WindowListener) this);  
  11.     }  
  12.   
  13.     @Override  
  14.     public void windowActivated(WindowEvent e) {  
  15.         System.out.println(0);  
  16.           
  17.     }  
  18.   
  19.     @Override  
  20.     public void windowClosed(WindowEvent e) {  
  21.         // TODO Auto-generated method stub  
  22.         System.out.println(1);  
  23.     }  
  24.   
  25.     @Override  
  26.     public void windowClosing(WindowEvent e) {  
  27.         // TODO Auto-generated method stub  
  28.         System.out.println(2);  
  29.     }  
  30.   
  31.     @Override  
  32.     public void windowDeactivated(WindowEvent e) {  
  33.         System.out.println(3);  
  34.     }  
  35.   
  36.     @Override  
  37.     public void windowDeiconified(WindowEvent e) {  
  38.         // TODO Auto-generated method stub  
  39.         System.out.println(4);  
  40.     }  
  41.   
  42.     @Override  
  43.     public void windowIconified(WindowEvent e) {  
  44.         // TODO Auto-generated method stub  
  45.         System.out.println(5);  
  46.     }  
  47.   
  48.     @Override  
  49.     public void windowOpened(WindowEvent e) {  
  50.         // TODO Auto-generated method stub  
  51.         System.out.println(6);  
  52.     }  
  53.   
  54.   
  55. }  


点击关闭按钮,结果是3。可以推定对应的事件是windowDeactivated,而不是网上所说的windowClosing。 
哪位给个评论,为何网上说的与我的实验会不同?

原文地址:https://www.cnblogs.com/donaldlee2008/p/9143507.html