【发布时间】:2011-03-08 02:01:03
【问题描述】:
前言:这是我做的第一个真正的摇摆程序。
我有一个摇摆程序,其中一个 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)
谁能指出我正确的方向,为什么程序在此之后没有关闭?我已经做了一些谷歌搜索,但到目前为止还没有到达任何地方。如果您需要更多信息,请告诉我
谢谢:)
【问题讨论】:
-
你运行的是什么版本的jdk?旧版本在处理所有窗口时不会关闭。
-
$java -version 产生“build 1.6.0_20-b02”。我在 64 位 Arch Linux 机器上运行它。
标签: java swing dispose shutdown