我擁有類MainFrame
的代碼,而this
是一個大型機對象。所以這是我的問題。當我做this.setDefaultCloseOperation(DISPOSE_ON_CLOSE)
時,它關閉了對話框,但不是應用程序。我知道我應該使用EXIT_ON_CLOSE
,但只適用於JFrame
,而不是MainFrame
對象。我已經嘗試使用System.exit(0)
解決方法,但它們都在錯誤的時間退出,或者一起失敗。無論如何,我可以訪問框架角落的「X」按鈕,並將其設置爲在按下時執行特定操作?使用對話框使用「setDefaultCloseOperation」退出應用程序
回答
Azad的評論工作!按照描述轉到鏈接。
編輯:更好的是,讓我在這裏發佈正確的想法,以防萬一這個問題消失。
dialog.addWindowListener(new WindowAdapter() {
@Override public void windowClosed(WindowEvent e) {
System.exit(0);
}
});
其中對話框是您的所有信息的JDialog。我建議在您的JDialog定義和使用的方法結束時發佈它。
爲什麼不直接寫'dialog.setDefaultCloseOperation(JDialog.EXIT_ON_CLOSE)'? – stevecross
JDialog必須是「DISPOSE_ON_CLOSE」。只有JFrame可以執行EXIT_ON_CLOSE。 –
它關閉了對話框,但沒有關閉應用程序。
你爲什麼試圖從對話框中退出應用程序?應用程序只能關閉其JFrame。
有無論如何,我可以訪問框架角落的「X」按鈕,並設置它,以便當它被按下時,它會執行某些操作?
請參閱Closing an Application關於主題的想法以及代碼示例。
因爲當我嘗試將它投入到JFrame中時,我變得瘋狂,格式錯誤的GUI在JDialog中是完美的。 –
@ user3010468,JFrame或JDialog中的佈局是相同的。你的代碼是問題,而不是JFrame。這就是爲什麼您總是通過向面板添加組件來創建GUI,然後將面板添加到框架的原因。我建議你修復你的代碼。 – camickr
- 1. 退出應用程序對話
- 2. 使用退出按鈕退出jquery彈出對話框
- 3. android:退出應用程序(活動)對話框關閉
- 4. GTK應用程序不會退出對話框
- 5. Win32應用程序在關閉對話框時立即退出
- 6. PyQt對話框退出時關閉整個應用程序
- 7. 從模態對話框中退出MFC應用程序
- 8. 當退出應用程序時提示確認對話框
- 9. 使用UIAlertController退出應用程序
- 10. 使用確認退出應用程序
- 11. 使應用程序在退出應用程序後記住Facebook登錄會話
- 12. 使用jQuery對話框創建Facebook應用程序授權對話框
- 13. 使應用程序退出Android
- 14. 使用對話框後退按鈕
- 15. 當應用程序退出時使用對象更新webservice
- 16. 當用戶想要退出我的應用程序時評價我的應用程序對話框
- 17. 在iPhone應用程序退出之前使會話失效
- 18. 從背景使用對話框崩潰的應用程序
- 19. 應用程序邀請對話框使用UIWebView
- 20. iOS中的Facebook應用程序請求(不使用對話框)
- 21. 在Winforms應用程序中使用Add Connection對話框
- 22. 使用對話框編輯JSF應用程序 - 哪個組件?
- 23. Facebook:不使用Facebook的對話框邀請應用程序
- 24. 使用對話框的QT應用程序
- 25. 防止Cocoa文檔應用程序退出時的「退出時保存」對話
- 26. android:在退出應用程序時的對話
- 27. 對話後應用程序未退出MainLoop
- 28. WP7 PhoneGap應用程序後退按鈕退出應用程序
- 29. 退出Android應用程序
- 30. 退出Android應用程序
顯示一些代碼。你的'MainFrame'類是怎麼樣的? – stevecross
如果你擴展一個'JDialog':嘗試'JDialog.EXIT_ON_CLOSE'。 – stevecross
* ....訪問框架角落的「X」按鈕* YES,['JFrame#addWindowListener'](http://docs.oracle.com/javase/tutorial/uiswing/events/windowlistener.html ),見['this'](http://stackoverflow.com/questions/7191330/closing-a-java-program-properly-when-jdialog-is-the-main-window)鏈接也 – Azad