我正试图为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());
});
我知道这目前可以正常工作,但是我真的想使用命令而不是控制,因为它更加自然和直观。
答案 0 :(得分:1)
我相信您正在寻找KeyCombination.SHORTCUT_DOWN
。
KeyCombination
...
shortcut
修饰符用于表示修饰键,该修饰键通常在主机平台上的键盘快捷方式中使用。例如,在Windows上为control
,在Mac上为meta
(命令键)。通过使用shortcut
键修饰符,开发人员可以创建独立于平台的快捷键。因此,“快捷键+ C”组合键在Windows中内部处理为“ Ctrl + C”,而在Mac中内部处理为“ Meta + C”。
从该文档中,看起来它们将“命令”称为“元”。如果您不想使用跨平台SHORTCUT_DOWN
,则可以使用KeyCombination.META_DOWN
。