如何创建在的Java Swing窗口关闭的处理程序(How to create a handler

2019-07-04 13:53发布

我试图调用一个函数做清理工作时,我的窗口(带的Java Swing创建)是封闭的。 在我的初始化代码我这样做:

public class FormLogin extends JFrame{
    private void initComponents(){
        ...
        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosed(java.awt.event.WindowEvent evt){
                formLoginWindowClosed(evt);
            }
        });
        ...
    }
}

但功能“formLoginWindowClosed”当我按下退出键永远不会被调用。 我也试着创建与java.awt.event.WindowAdapter中的听众作为参数,但它也不能工作。 我应该如何创建窗口关闭监听? 提前致谢。

Answer 1:

设置为关闭时退出框架, windowClosed将永远不会被调用,主要是因为该系统已经退出前可以引发事件。

尝试使用windowClosing代替。

另外,您也可以使用关闭钩

  • 在Java的JVM关闭挂钩
  • 在关闭挂钩API的设计
  • Java的关闭挂钩- Runtime.addShutdownHook()


文章来源: How to create a handler for window closing in Java Swing