/ / Como verificar se o aplicativo está sendo fechado no controlador FXML - java, javafx-8

Como verificar se o aplicativo está sendo fechado no controlador FXML - java, javafx-8

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 № 1

Este 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 ()