用于Command + T的JavaFX KeyCombination(新选项卡)

时间:2018-09-22 21:03:58

标签: java javafx keyevent

我正试图为Command + T的浏览器应用创建按键监听器,以触发打开新标签页的方式,就像大多数实际的浏览器一样。

为此找到了一些可能的解决方案,看来我可能必须使用KeyCombination,但是我找不到用于命令键的任何东西。到目前为止,我找到的最接近的是Control + T。

private KeyCombination newTab = new KeyCodeCombination(KeyCode.T, KeyCombination.CONTROL_DOWN);
...
root.setOnKeyPressed(event -> {
    if (newTab.match(event))
        tabPane.getTabs().add(new Tab());
});

我知道这目前可以正常工作,但是我真的想使用命令而不是控制,因为它更加自然和直观。

1 个答案:

答案 0 :(得分:1)

我相信您正在寻找KeyCombination.SHORTCUT_DOWN

  

KeyCombination

     

...

     

shortcut修饰符用于表示修饰键,该修饰键通常在主机平台上的键盘快捷方式中使用。例如,在Windows上为control,在Mac上为meta(命令键)。通过使用shortcut键修饰符,开发人员可以创建独立于平台的快捷键。因此,“快捷键+ C”组合键在Windows中内部处理为“ Ctrl + C”,而在Mac中内部处理为“ Meta + C”。

从该文档中,看起来它们将“命令”称为“元”。如果您不想使用跨平台SHORTCUT_DOWN,则可以使用KeyCombination.META_DOWN