小编gri*_*s21的帖子

从开放运行工具中停止Win + R.

在我的javafx程序中有一个弹出窗口,它允许用户按键,然后相应地设置标签.我的问题是关键组合是底层操作系统的快捷方式,例如,如果用户按下Win + R然后Run.exe启动,但我的程序应该只将标签设置为"Win + R".我的问题是如何阻止关键事件触发操作系统快捷方式.

这是相关的代码.

public void showInput() {
        Set codes = new HashSet();

        Stage inputWindow = new Stage();
        GridPane pane = new GridPane();
        Scene scene = new Scene(pane);
        Label label = new Label("Here comes the pressed keys");

        scene.setOnKeyPressed(e -> {
            e.consume();
            int code = e.getCode().ordinal();

            if (label.getText().equals("Here comes the pressed keys")){
                codes.add(code);
                label.setText(String.valueOf(e.getCode().getName()));

            } else if (!codes.contains(code)){
                codes.add(code);
                label.setText(label.getText() + "+" + e.getCode().getName());
            }
        });

        scene.setOnKeyReleased(e -> {
            e.consume();
            inputWindow.close();
        });

        pane.add(label, 0, 0);

        inputWindow.setScene(scene);
        inputWindow.show();
    }
Run Code Online (Sandbox Code Playgroud)

我试过 …

java javafx keyevent

5
推荐指数
1
解决办法
75
查看次数

标签 统计

java ×1

javafx ×1

keyevent ×1