Я хочу сохранить файл перед закрытием приложения 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
?