检查我的窗口监听器是否正常工作

时间:2014-03-19 18:19:09

标签: java swing window listener

我试图看看我的窗口监听器是否正常工作。我希望在我在windowClosed方法中调用dispose之前在控制台中打印出一条消息,但它不会打印任何内容。我不确定自己是否做错了 - 有没有办法检查?

    public class MyClass extends JFrame {
    . . . 
             this.addWindowListener(new WindowAdapter() {

             @Override
             public void windowClosed(WindowEvent e) {
                 System.out.println("I'm in the listener");
                 dispose();
             }
        });

    . . .
}

2 个答案:

答案 0 :(得分:4)

我想你想要windowClosing,当用户试图关闭窗口时会调用它。在窗口被处理后,windowClosed被称为,因此尝试从那里处理它是没有意义的。

答案 1 :(得分:4)

windowClosing总是被解雇 使用时会触发windowClosed

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

但被覆盖的方法应该是这样的,

           @Override
           public void windowClosed(WindowEvent e) {
               System.out.println("I'm in the listener");
               System.exit(0);
           }
      });

这里不能使用dispose()方法,因为在处理帧之后将调用此方法。 如果调用了dispose()方法,那么这将使windowClosed()方法无限执行。