D3KA
D3KA

Reputation: 37

Disable stage button X

I'm learning javafx and I want when I click the X's windows after close it appear a warning. I know to do this in a button created by me in the middle of the windows, but I don't know how to control when the user press the X to close the programm. Thanks

Upvotes: 1

Views: 5584

Answers (1)

Roland
Roland

Reputation: 18415

You should not focus on the X, but instead on the common close request like this:

primaryStage.setOnCloseRequest(new EventHandler<WindowEvent>() {
    @Override
    public void handle(WindowEvent event) {

        // consume event
        event.consume();

        // show close dialog
        Alert alert = new Alert(AlertType.CONFIRMATION);
        alert.setTitle("Close Confirmation");
        alert.setHeaderText("Do you really want to quit?");
        alert.initOwner( primaryStage);

        Optional<ButtonType> result = alert.showAndWait();
        if (result.get() == ButtonType.OK){
            Platform.exit();
        }
    }
});

Upvotes: 7

Related Questions