在最后一个窗口上调用处理后的Java swing程序未关闭
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在最后一个窗口上调用处理后的Java swing程序未关闭,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1339字,纯文字阅读大概需要2分钟。
内容图文
![在最后一个窗口上调用处理后的Java swing程序未关闭](/upload/InfoBanner/zyjiaocheng/691/4021074a15e74004b128fa799eaf1231.jpg)
前言:这是我完成的第一个真正的挥杆程序.
我有一个Swing程序,应该有一个JButton退出该程序.该按钮触发this.dispose();.当我单击此JButton时,它的确使窗口完全消失了,但是在调试器中,程序本身仍在运行.
我的主要方法仅包括:
public static void main (String[] args)
{
java.awt.EventQueue.invokeLater(new Runnable()
{
public void run()
{
new StartupGui().setVisible(true);
}
});
}
我的退出按钮看起来像动作按钮看起来像:
private void exitButtonActionPerformed(java.awt.event.ActionEvent evt)
{
this.dispose();
}
我也尝试过退出按钮:
private void exitButtonActionPerformed(java.awt.event.ActionEvent evt)
{
java.awt.EventQueue.invokeLater(new Runnable()
{
public void run()
{
dispose();
}
});
}
在按退出按钮后查看调试器,我看到以下内容(并且仅以下内容):
Daemon Thread [AWT-XAWT] (running)
Thread [AWT-Shutdown] (running)
Thread [AWT-EventQueue-0] (running)
Thread [DestroyJavaVM] (running)
任何人都可以向我指出正确的方向,为什么程序在此之后仍无法关闭?我已经做了一些谷歌搜索,但到目前为止还没有到任何地方.如果您需要更多信息,请告诉我
谢谢 :)
解决方法:
因为dispose()方法仅释放资源.
该文档有一个
Note: When the last displayable window within the Java virtual machine (VM) is disposed of, the VM may terminate. See 07001 for more information.
你注意到了吗?
上面的链接为您提供有关自动关机功能的详细信息.您可以阅读有关此内容的更多信息,也可以通过用System.exit(0)替换this.dispose()来解决此问题.
内容总结
以上是互联网集市为您收集整理的在最后一个窗口上调用处理后的Java swing程序未关闭全部内容,希望文章能够帮你解决在最后一个窗口上调用处理后的Java swing程序未关闭所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。