我在我的Java swing程序中打開了2個窗口。如果關閉一個窗口,程序將停止執行。有沒有辦法阻止執行並使用其他窗口進行遊戲?請用示例代碼解釋,因爲我是新手搖擺。我試圖在網上搜索,但我認爲我缺乏適當的關鍵字。一旦我關閉了swing java程序中的幾個窗口之一,程序就會停止執行
回答
您可能將您的新窗口的關閉操作設置爲EXIT_ON_CLOSE
。尋找地方,這種情況發生在你的代碼:
JFrame frame = ... ;
// ...
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
而更換EXIT_ON_CLOSE
與DISPOSE_ON_CLOSE
爲所有,但你要關閉時有退出應用程序的窗口。
另請參閱您可以在setDefaultCloseOperation
javadoc中傳遞的其他ON_CLOSE
值。
*「..除了您希望在關閉時退出應用程序的窗口。「*如果對每個*幀使用DISPOSE_ON_CLOSE,它也可以工作。關閉的最後一個窗口將退出應用程序。這至少可以應用,只要不存在延遲的非守護線程。如果有這樣的線程,他們應該合理關閉。 –
@AndrewThompson不一定。這在Windows中可能是正確的,但對於每個JVM都不是這樣。從文檔中,「當Java虛擬機(VM)內的最後一個可顯示窗口被處置時,VM **可能**終止。」 (強調添加。)建議但不是必需的,應用程序終止,但不能保證。我想不出任何可以做到的事情,但我記得發現了其中的一些。 – Brian
在這種情況下,請參閱我的評論。上面的'不好的做法'。 –
您可能正在擴展JFrame,因此當您關閉主窗口時它會關閉。
請粘貼一些代碼以獲取進一步的幫助。
對於對話框,您認爲不是是你應該確保默認的關閉操作不會導致應用程序退出主窗口:
window.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
- 1. 前一個窗口調用了處理後的java swing程序不關閉
- 2. 防止關閉Java swing應用程序
- 3. 如何在窗口關閉後正確停止Java小程序
- 4. java swing關閉窗口無需退出應用程序
- 5. 應用程序一旦啓動就關閉
- 6. cx_Freeze exe應用程序一旦打開就關閉
- 7. 瞭解java執行程序服務關閉並等待終止
- 8. 一個窗口關閉時關閉幾個窗口
- 9. 運行多個線程,並停止一旦一個已停止
- 10. 一旦程序關閉,遠程服務關閉
- 11. 爲什麼Swing應用程序會停止我的Java servlet?
- 12. 一旦另一個窗口關閉,更改瀏覽器窗口
- 13. 一旦WPF應用程序中的彈出窗口關閉,Tabbing不工作
- 14. Swing應用程序中的窗口關閉問題
- 15. destroyWindow(來自opencv)關閉所有窗口並停止C++程序
- 16. Java程序不會停止
- 17. 關閉谷歌應用程序腳本中的一個窗口
- 18. Mysqli錯誤會停止程序執行
- 19. Java Swing關閉只有一個應用程序
- 20. 在Swing應用程序框架中關閉窗口
- 21. 的Java在Java程序中執行一個程序的Mac
- 22. 如何關閉一個窗口,以防止應用程序終止?
- 23. 當控制檯窗口關閉時阻止程序關閉
- 24. 執行應用程序關閉執行程序應用程序
- 25. Ctrl + D不會停止應用程序在命令窗口中執行
- 26. 如何在應用程序窗口關閉時中止線程
- 27. Angularjs停止程序執行
- 28. 除了拋出錯誤之外,我可以在執行過程中停止一個程序嗎?
- 29. 停止執行worklight程序
- 30. Java執行程序部分關閉
上_stops execution_請詳細說明。拋出異常?退出JVM? – trashgod
你想使用線程在後臺運行作業 – gigadot
請編輯你的問題,包括一個[sscce](http://sscce.org/),它顯示了你當前的方法。 – trashgod