/ / Як перевірити, чи закривається програма у FXML-контролері - java, javafx-8

Як перевірити, чи закривається програма в контролері FXML - java, javafx-8

Чи є спосіб перевірити (і додати обробник подій на ньому), якщо додаток буде закрито в контролері FXML (не основний клас, похідний від Застосування але контролер приєднаний до файлу FXML, отриманого з Ініціалізація)?

Спасибі, допоможіть високо оцінені.

Відповіді:

2 для відповіді № 1

Цей приклад повинен допомогти вам дістатися там, де вам потрібно бути.

   FXMLLoader loader = new FXMLLoader();
Parent node = loader.load(getClass().getResource("myfxml.fxml")).openStream());
Scene scene = new Scene(node);
Stage stage = new Stage();
MyController controller = (MyController)loader.getController();

stage.setTitle(titleString);
stage.setScene(scene);
stage.setOnHidden(event -> {
//do all your processing here
controller.doSaveHere();
});
stage.show();

Однак ви можете використовувати інші гачки - setOnHiding () або setOnCloseRequest ()