前言:这是我所做的第一个真正的swing程序。前一个窗口调用了处理后的java swing程序不关闭
我有一个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)
任何人都可以指出我正确的方向,为什么程序没有关闭后,这一点?我做了一些Google搜索,但到目前为止还没有到任何地方。如果您需要任何更多信息,只是让我知道
谢谢:)
你运行的是什么版本的JDK更换
this.dispose()
解决这个问题?当所有的窗口被丢弃时,旧版本不会关闭。 – mdma 2010-06-25 00:05:48$ java -version会产生“build 1.6.0_20-b02”。我正在64位Arch Linux机器上运行它。 – vimalloc 2010-06-25 00:11:42