我正在尋找類似的例子來解決這個問題。我們有一個JavaFX應用程序,它通過運行以下代碼的線程運行一些GUI更新:ScheduledExecutorService :: scheduleAtFixedRate。如何在JavaFX Runtime退出時終止預定的線程?
這與其他一些問題類似。我認爲是最像我的情況這兩個是這些:
我需要解決的問題,但是,關於下一個步驟。我的目標是用於嵌入式應用程序,並且沒有機會手動終止JVM任務或其他簡單答案等。恐怕重新啓動是爲嚴重的事情保留的。
我們需要確保所有線程都以有序的方式關閉。我正在尋找的是某種回撥或事件,讓我註冊清理例程以關閉我的東西?
我以爲在基類中應該有'東西',JavaFX javafx.application.Application這樣做。
是當有從我FXMLController停止我可能會使用或者我可以註冊Stop方法的東西被稱爲?
目前,當我從Netbeans運行我的JavaFX應用程序時,JVM進程仍然存在。這會停止任何進一步的構建腳本並鎖定JAR文件。 Netbeans給你一個殺死任務的選項。真正的解決方案意味着應用程序/ JVM按順序和整齊地關閉。
(更新)......我看着你使用啓動的JavaFX應用程序的javafx.Application類。我實現了一個Stop()方法。在這裏,我確定我已撥打平臺。 出口()...
/////
// @see
// -- http://docs.oracle.com/javafx/2/api/javafx/application/Application.html#stop%28%29
//
public void stop()
{
Platform.exit();
}
從NetBeans中運行時,這並不能治癒的問題。有時需要單擊停止[X]按鈕兩次,但當您使用「停止」按鈕時,該過程會停止。如果您對進度感興趣,則會報告爲bug:[Bug 245284],這裏有一個小時鐘示例來演示此問題。當您關閉該窗口時,NetBeans進程運行面板仍爲'正在運行'。您無法構建,因爲JAR文件已被鎖定。至少我們知道手動殺死開發程序。
- 建議歡迎。 。 。
這只是工作,如果關閉階段和退出應用程序的下一個人是完全一樣的事情,這不適用於所有應用程序。 – Pablo