如何仅禁用/删除阶段关闭按钮

时间:2016-01-03 05:14:59

标签: java javafx-8

我尝试过使用primaryStage.initStyle(StageStyle.UNDECORATED);,但它会使窗口没有标题。我想要的只是删除/禁用关闭按钮是否可能?

2 个答案:

答案 0 :(得分:1)

您实际上无法删除此按钮。最好的选择是通过消耗close事件来禁用它。

如果您的用户想要使用关闭按钮,那么这通常意味着您不会给他们一个关闭窗口的明显替代方案。也许为SaveOK添加按钮?

答案 1 :(得分:0)

我知道这来晚了,但我只是基于Sam Sun的回答。 我遇到了同样的问题,但是我遵循了他的建议,并通过以下方式消耗了事件:

primaryStage.setOnCloseRequest(event -> event.consume());

对我来说就做到了。 您甚至可以继续显示警告,告诉用户无法关闭窗口,如下所示:

primaryStage.setOnCloseRequest(event -> {
        Alert alert = new Alert(Alert.AlertType.INFORMATION);
        alert.setContentText("This window cannot be closed");
        alert.showAndWait();
        event.consume();
});

我希望这对遇到相同问题的所有人有所帮助。