當包含連接到控制器的視圖的級關閉時,是否有方法觸發控制器中的功能?比方說,當窗口關閉時,我想在舞臺中的每個控制器上調用「清理」功能(例如保存更改)。JavaFX:關閉對應級時控制器上的調用功能
0
A
回答
0
通常你把FXML文件的內容到一個階段(通過場景)內外兼修的FXML和控制器。所以你應該在你實際訪問舞臺的地方添加代碼來做到這一點。您可以在控制器類中定義的方法來調用的時候,你需要做的「清理」:
public class Controller {
// injected fields, etc...
public void initialize() {
// initialization code...
}
// event handlers, etc...
public void shutdown() {
// cleanup code here...
}
}
現在,當你加載FXML並顯示其在一個窗口中的內容,你可以註冊階段的處理程序調用控制器的關機方法:
Stage stage = ... ;
FXMLLoader loader = new FXMLLoader(getClass().getResource("path/to/fxml/file"));
Parent root = loader.load();
Scene scene = new Scene(root);
stage.setScene(scene);
// cleanup controller resources when window closes:
Controller controller = loader.getController();
stage.setOnHidden(e -> controller.shutdown());
stage.show();
0
您可以使用Window.setOnHidden
相關問題
- 1. 當控制器調用format.js時,模式不能正常關閉
- 2. VB.NET控制檯應用程序中的關閉功能
- 3. CodeIgniter - 關閉控制器函數調用?
- 4. 功能的可調關閉
- 5. 如何從Angular控制器調用Laravel控制器的功能?
- 6. 定時器功能的移動應用程序 - 「關閉」
- 7. 從AngularJS控制器調用Android功能
- 8. javascript關閉時的中繼器控制
- 9. Javafx如何關閉控制器類的場景
- 10. 全局應用Laravel控制器功能
- 11. extjs4 - 如何從控制器調用應用程序功能?
- 12. 如何使用角度材質對話框在控制器上調用功能
- 13. JavaFX中的NPE在調用控制器中的字段時
- 14. 的InvocationTargetException調用控制器方法時 - JavaFX的
- 15. 上調用視圖負載笨控制器功能
- 16. 關閉ngDialog在控制器
- 17. 關閉根控制器
- 18. 調用瀏覽器的Javascript功能關閉
- 19. 如何在Windows關機時關閉控制檯應用程序
- 20. 在控制檯關閉C++的執行功能
- 21. 不關閉ViewController的視圖控制器調用析構函數
- 22. 從另一個控制器調用另一個控制器的功能
- 23. 如何在codeigniter中的另一個控制器中調用控制器功能
- 24. 如何調用一個控制器的功能,從另一個控制器AngularJs
- 25. 如何在同一個控制器中調用控制器的輸出功能?
- 26. Angular UI路由器:調用子狀態控制器的功能
- 27. 能夠以關閉視圖控制器的整個堆疊除了控制器調用解僱
- 28. 當瀏覽器/標籤關閉時調用我的註銷功能
- 29. 關閉控制檯也關閉GUI應用程序
- 30. 強制關閉應用程序時,升級
非常感謝您,這樣做的竅門。我還添加了一些代碼來調用主控制器中包含的嵌套控制器的「關閉」方法。 – YellowSub