7

当我的窗口(使用 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 作为参数创建侦听器,但它也不起作用。我应该如何创建关闭窗口的侦听器?提前致谢。

4

1 回答 1

8

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

尝试windowClosing改用。

或者,您可以使用关闭挂钩

于 2012-12-05T09:57:41.753 回答