Disable stage button X

2019-03-03 09:04发布

I'm going fast to the point because I haven't a very fluent english, sorry.

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

1条回答
Juvenile、少年°
2楼-- · 2019-03-03 09:29

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();
        }
    }
});
查看更多
登录 后发表回答