JavaFX 中的 KeyCodeCombination Control + LEFT 或 Ctrl + RIGHT 键

KeyCodeCombination Control + LEFT or Ctrl + RIGHT key in JavaFX

我正在尝试构建一个视频播放器。因为我想使用 CtrlLEFTRIGHT 键来寻找媒体。

我尝试了两种方式:

KeyCombination.keyCombination("Ctrl+RIGHT").match(e);

KeyCodeCombination(KeyCode.LEFT, KeyCombination.CONTROL_DOWN).match(e);

其他组合键有效,但这些组合键无效。

有什么办法可以实现吗?

您可以尝试使用 SHORTCUT_DOWN 而不是 CONTROL_DOWN,因为第一个与平台无关。

Returns whether or not the host platform common shortcut modifier is down on this event. This common shortcut modifier is a modifier key which is used commonly in shortcuts on the host platform. It is for example control on Windows and meta (command key) on Mac.

那么你有几个机会,比如:

node.setOnKeyPressed(e -> {
    if (new KeyCodeCombination(KeyCode.LEFT, KeyCombination.SHORTCUT_DOWN).match(e)) {
        // ...
    }
});

node.setOnKeyPressed(e -> {
    if (e.getCode() == KeyCode.LEFT && e.isShortcutDown()) {
        // ...
    }
});