前言:這是我所做的第一個真正的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