2012-02-29 41 views
8

當我按下窗口右上角的x按鈕時,我希望我的JavaFX程序清理程序。我怎樣才能做到這一點?清理代碼是退出javafx程序時如何清理程序?

 JIntellitype.getInstance().cleanUp(); 
+0

嗯..做一些研究。您需要註冊某種監聽器來捕捉* window closing *事件並將代碼放入其中。 – mre 2012-02-29 19:15:06

回答

11

如果你有多個窗口和清理僅僅是分配給窗口的資源被關閉,添加適當的事件處理程序的窗口setOnHidden事件。

的Window.setOnHidden事件的說明:

稱爲窗口已隱藏之後。當隱藏窗口爲 時,將調用此事件處理程序,以便開發人員在窗口關閉時清除資源或執行其他任務。

如果您爲JavaFX應用程序創建了多個階段,則應用程序將在應用程序的最後階段關閉時關閉。當應用程序關閉時,應用程序的stop方法被調用,您可以通過在應用程序類中覆蓋它來實現該方法。

的Application.stop方法的描述:

該方法被調用時,應用程序應該停止,並提供了一個方便的地方爲應用程序退出準備和破壞資源。

就你而言,提供Application.stop的實現可能是最合適的解決方案。

+0

謝謝,它像我想要的那樣工作,第二種解決方案。 – 2012-03-01 12:15:33