禁用Alt+;JavaFX的F4

禁用Alt+;JavaFX的F4,java,javafx,Java,Javafx,我需要使用Alt+F4键盘快捷键禁用关闭事件。现在,我正在尝试过滤我的场景中的事件并使用它,但是没有任何成功,关闭事件仍然会发生。下面是我的代码的一部分: scene.addEventFilter(KeyEvent.KEY_PRESSED, event -> { if (event.isAltDown() && event.getCode().equals(KeyCode.F4)) { event.consume(); } }); prim

我需要使用Alt+F4键盘快捷键禁用关闭事件。现在,我正在尝试过滤我的场景中的事件并使用它,但是没有任何成功,关闭事件仍然会发生。下面是我的代码的一部分:

scene.addEventFilter(KeyEvent.KEY_PRESSED, event -> {
    if (event.isAltDown() && event.getCode().equals(KeyCode.F4)) {
        event.consume();
    }
});

primaryStage.setOnCloseRequest((ev) -> System.exit(0));

您可以尝试禁用隐式退出:

Platform.setImplicitExit(false);
primaryStage.setOnCloseRequest(new EventHandler<WindowEvent>() {
    @Override
    public void handle(WindowEvent event) {
        event.consume();
    }
});
Platform.setImplicitExit(false);
setOnCloseRequest(新的EventHandler()){
@凌驾
公共无效句柄(WindowEvent事件){
event.consume();
}
});
然后创建一个按钮,单击该按钮即可关闭应用程序:

Button btn = new Button();
btn.setText("Close");
btn.setOnAction(new EventHandler<ActionEvent>() {

    @Override
    public void handle(ActionEvent event) {
       System.exit(0);
    }
});
按钮btn=新按钮();
btn.setText(“关闭”);
btn.setOnAction(新的EventHandler(){
@凌驾
公共无效句柄(ActionEvent事件){
系统出口(0);
}
});

您是否在primaryStage.addEventFilter上尝试过同样的方法?是的。同样的行为。我对JavaFX了解不多,但我认为您可能从错误的角度来解决这个问题。也许您只需要阻止Java从任何情况下退出,然后手动处理它应该退出的情况。