26
我想在關閉我的JavaFX應用程序之前保存文件。JavaFX:舞臺關閉處理程序
這是我如何建立處理程序Main::start
:
primaryStage.setOnCloseRequest(event -> {
System.out.println("Stage is closing");
// Save file
});
而當按下按鈕控制器調用Stage::close
:
@FXML
public void exitApplication(ActionEvent event) {
((Stage)rootPane.getScene().getWindow()).close();
}
如果我關閉窗口,點擊紅色X在窗口邊界(正常的方式)然後我得到輸出消息「Stage is closing
」,這是所需的行爲。
但是,當調用Controller::exitApplication
時,應用程序關閉而不調用處理程序(沒有輸出)。
如何讓控制器使用我已添加到primaryStage
的處理程序?