Disable stage button X

℡╲_俬逩灬. 提交于 2020-01-11 11:19:09

问题


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:


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();
        }
    }
});


来源:https://stackoverflow.com/questions/29403706/disable-stage-button-x

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!