什么是JFrame关闭的正确方法,就像用户点击X关闭按钮或按下Alt+ F4(在Windows上)一样?
我通过以下方式设置我的默认关闭操作:
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Run Code Online (Sandbox Code Playgroud)
它完全符合我想要的上述控件.这个问题与此无关.
我真正想要做的是使GUI的行为方式与按下X关闭按钮会使其表现相同.
假设我要扩展WindowAdaptor然后添加我的适配器实例作为监听器addWindowListener().我想看到的调用相同的序列通过windowDeactivated(),windowClosing()以及windowClosed()作为将与出现X关闭按钮.可以这么说,撕毁窗户就像告诉它撕裂自己一样.
从代码中终止Swing应用程序的正确方法是什么,有哪些陷阱?
我试图在计时器启动后自动关闭我的应用程序.但是,仅仅呼吁dispose()在JFrame没有做的伎俩-窗口消失了,但应用程序并没有终止.但是,当使用关闭按钮关闭窗口时,应用程序会终止.我该怎么办?
我刚在CustomUIPanel类中编写了这个测试代码:
public static void main(String[] args) {
final JDialog dialog = CustomUIPanel.createDialog(null,
CustomUIPanel.selectFile());
dialog.addWindowListener(new WindowAdapter() {
@Override public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
Run Code Online (Sandbox Code Playgroud)
它是正确的,如果CustomUIPanel.main()是程序的入口点,但它让我想知道:如果另一个类要求CustomUIPanel.main()测试怎么办?然后我的电话System.exit(0)是不正确的.
如果没有顶级窗口,有没有办法告诉Swing事件调度线程自动退出?
如果不是,如果目标是让所有顶级窗口关闭时程序退出,那么JDialog/JFrame在关闭时做什么是正确的?