JavaFX 如何更改快捷键的默认功能?

JavaFX How to change the default function of shortcut key?

VBox 中有两个按钮。如果单击第一个按钮,然后按"TAB",焦点框将移动到第二个按钮。所以我的问题是,如果我想将 "TAB" 用于其他功能,我该如何更改或取消或阻止 JavaFX 中 "TAB" 的默认功能?

Button btn1 = new Button("First Button");
Button btn2 = new Button("Second Button");
VBox root = new VBox();
root.getChildren().addAll(btn1,btn2);

您需要使用其中一种setOnKeyPressed/Released/Typed方法。然后施展你的魔法。例如只消耗它,以防止按钮之间的切换。

    btn1.setOnKeyPressed(e->{
        if (e.getCode() == KeyCode.TAB) {
            e.consume();
        }
    });