Existe alguma maneira de verificar (e anexar o manipulador de eventos) se o aplicativo será fechado no controlador FXML (não na classe principal derivada de Aplicação mas o controlador anexado ao arquivo FXML derivado de Inicializável)?
Obrigado, ajuda muito apreciada.
Respostas:
2 para resposta № 1Este exemplo deve ajudá-lo a chegar onde precisa estar.
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();
No entanto, existem outros ganchos que você pode usar - setOnHiding () ou setOnCloseRequest ()