I have a Stage in JavaFX that can be closed in multiple ways, either by clicking the red (X) or by a Button which calls stage.close()
Regardless of how the Stage is closed, I would like to perform an action before (or as) it is closed.
If I use the following code:
myStage.setOnCloseRequest( event -> {System.out.println("Closing Stage");} );
then the handler is called when I click the (X) but not when I call myStage.close()
This is the same issue that this question talks about (with a key difference): JavaFX: Stage close handler
The difference is that he wants to call a handler as the entire application is closed, and therefore can override the Application
's stop()
method. However I'm not closing the entire application, just one stage. And Stage
does not have a stop()
method to override.
Thanks for any help.