如何在关闭 JFrame 时调用函数?

How can I call a function at time of closing of JFrame?

因为我想在程序关闭前进行备份。
当用户单击(关闭该 JFrame 的右上角按钮)按钮关闭 JFrame 时,我如何调用备份功能?回来后我想成为框架得到处置系统退出。

我已经设置了默认关闭操作setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

只需执行以下操作即可:

  1. 将默认关闭操作设置为:

frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

  1. 向您的框架添加一个新的 WindowAdapter 并覆盖(挂钩)其 windowClosing 方法,如下所示:
frame.addWindowListener(new WindowAdapter() {
    @Override
    public void windowClosing(WindowEvent event) {
        //your logic here
    }
});

另外不要忘记,您需要手动处理框架并在完成后调用 System#exit 以关闭应用程序。

有关更多信息,请在此处查看相关文档:

https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/awt/event/WindowAdapter.html