当前位置: 首页 > 面试题库 >

如何在Java Swing中创建用于关闭窗口的处理程序

靳祺然
2023-03-14
问题内容

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


问题答案:

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

尝试windowClosing改为使用。

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

  • Java中的JVM Shutdown Hook
  • 关机挂钩API的设计
  • Java关闭挂钩– Runtime.addShutdownHook()


 类似资料:
  • 如何在Angular 2中编写窗口关闭事件处理程序,我的意思是关闭而不是刷新。 所以我不能使用

  • 问题内容: 在Swing中,您可以简单地用于在关闭窗口时关闭整个应用程序。 但是,在JavaFX中找不到等效项。我有多个打开的窗口,如果一个窗口关闭,我想关闭整个应用程序。用JavaFX做到这一点的方法是什么? 编辑: 我了解可以覆盖以在窗口关闭时执行一些操作。问题是应该执行什么操作才能终止整个应用程序? 类中定义的方法不执行任何操作。 问题答案: 当最后一个关闭时,应用程序自动停止。目前,您的类

  • 我在找东西,什么也找不到。我最初尝试了以下代码: 但是我得到一个错误,说没有叫做tkinter的模块。

  • 我有这样的场景,当点击一个按钮时,它打开了一个基于PDF文件的窗口: 我使用的是Gecko驱动程序版本-21.0Firefox版本-61.0.1 Selenium独立服务器-3.13 我无法切换到基于PDF文件的窗口获取错误: 我想用最新的壁虎驱动程序-21.0来处理它

  • 问题内容: 我想通过在“处理”中仅使用一个草图来创建两个窗口。 我想做的是,如果我在一个窗口中单击一个按钮,则某些图像会出现在另一个窗口中。 我搜索了Google并找到了一些示例。实际上,我在此“堆栈溢出网络”中发现了相同的问题。这里是链接。 在处理中 http://forum.processing.org/one/topic/multiple- windows-2-4-2011.html中 创建

  • 对于JavaFX,通常是: 是否有方法检测TornadoFX视图关闭?