这是我的main函数:
public static void main(String[] arges)
{
JFrame adr=new AdressList();
adr.setVisible(true);
adr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//就算把这句注释掉,结果还是一样的
}
这是我重写的WindowClosing方法:
class WindowDestroyer extends WindowAdapter
{
public void WindowClosing(WindowEvent e)
{
System.out.println("!!!!");
}
}为什么我按下窗口的右上角的叉叉按钮,窗口会关闭,但不会输出感叹号?

解决方案 »

  1.   

    public static void main(String[] arges) 打錯了吧?
      

  2.   

    你主函数里面没有对JFrame adr添加侦听,很自然的就没有执行你重写的WindowClosinglistener=new WindowDestroyer();
    adr.addWindowsListener(listener);
      

  3.   


    这个真没有所谓。。一个形参而已AWT的东西不懂
      

  4.   

    adr.addWindowListener(new WindowDestroyer());加这一句
      

  5.   

    呵呵重写的windowClosing方法时,你的WindowClosing第一个w是大写的,应该是小写的!
      

  6.   

    正解import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    import javax.swing.JFrame;
    public class AdressList   extends JFrame
    {    
         public static void main(String[] arges)
         {
         JFrame adr=new AdressList();
         adr.addWindowListener(new WindowDestroyer());
         adr.setVisible(true);
         adr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//就算把这句注释掉,结果还是一样的
         }
         //这是我重写的WindowClosing方法:
         static class WindowDestroyer extends WindowAdapter
         {
        
         @Override
    public void windowClosing(WindowEvent e) {
         System.out.println("!!!!");
    }
         }
    }
      

  7.   

    感谢各位的帮助!问题解决了!原来就是windowClosing的w写成大写了!呵呵