gpt4 book ai didi

java - 如何从代码中关闭 Java Swing 应用程序

转载 作者:IT老高 更新时间:2023-10-28 11:34:43 26 4
gpt4 key购买 nike

从代码中终止 Swing 应用程序的正确方法是什么,有哪些陷阱?

我试图在计时器触发后自动关闭我的应用程序。但是仅仅在 JFrame 上调用 dispose() 并没有成功——窗口消失了,但应用程序没有终止。但是,当使用关闭按钮关闭窗口时,应用程序会终止。我该怎么办?

最佳答案

您的 JFrame 默认关闭操作可以设置为“DISPOSE_ON_CLOSE”而不是 EXIT_ON_CLOSE(为什么人们一直使用 EXIT_ON_CLOSE 超出了我的理解)。

如果您有任何未部署的窗口或非守护线程,您的应用程序将不会终止。这应该被认为是一个错误(使用 System.exit 解决它是一个非常糟糕的主意)。

最常见的罪魁祸首是 java.util.Timer 和您创建的自定义线程。两者都应该设置为 daemon 或者必须被显式杀死。

如果要检查所有 Activity 帧,可以使用 Frame.getFrames() .如果所有 Windows/Frames 都已处理完毕,则使用调试器检查是否有任何仍在运行的非守护线程。

关于java - 如何从代码中关闭 Java Swing 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/258099/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com