禁用JavaFX的Alt + F4

dan*_*000 3 java javafx

我需要使用Alt+ F4键盘快捷键禁用关闭事件.现在,我正在尝试过滤我的场景中的事件以获得此按键并使用它,但没有任何成功,无论如何都会发生关闭事件.以下是我的部分代码:

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

primaryStage.setOnCloseRequest((ev) -> System.exit(0));
Run Code Online (Sandbox Code Playgroud)

Žel*_*jić 7

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

Platform.setImplicitExit(false);
primaryStage.setOnCloseRequest(new EventHandler<WindowEvent>() {
    @Override
    public void handle(WindowEvent event) {
        event.consume();
    }
});
Run Code Online (Sandbox Code Playgroud)

然后创建一个按钮,在点击时关闭应用程序:

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

    @Override
    public void handle(ActionEvent event) {
       System.exit(0);
    }
});
Run Code Online (Sandbox Code Playgroud)