JavaFX KeyCombination для Command + T (новая вкладка) - PullRequest
0 голосов
/ 23 сентября 2018

Я пытаюсь сделать слушатель нажатой клавишу для моего браузера для 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 голосов
/ 23 сентября 2018

Я полагаю, вы ищете KeyCombination.SHORTCUT_DOWN.

KeyCombination

...

Модификатор shortcut используется для обозначения клавиши-модификатора, которая обычно используется в сочетаниях клавиш на платформе хоста.Это, например, control в Windows и meta (командная клавиша) на Mac.Используя shortcut, ключевые модификаторы могут создавать независимые от платформы ярлыки.Таким образом, комбинация клавиш «Ярлык + C» обрабатывается внутренне как «Ctrl + C» в Windows и «Meta + C» в Mac.

Из этой документации похоже, что они ссылаются на «команду"как" мета ".Если вы не хотите использовать кроссплатформенный SHORTCUT_DOWN, вместо этого вы можете использовать KeyCombination.META_DOWN.

...