Возьмем, к примеру, пункты меню из меню редактирования в JavaFX Scene Builder.
Видите, как они отображают ярлыки справа? Есть ли простой способ добиться того же эффекта с помощью JavaFX? Спасибо.
Возьмем, к примеру, пункты меню из меню редактирования в JavaFX Scene Builder.
Видите, как они отображают ярлыки справа? Есть ли простой способ добиться того же эффекта с помощью JavaFX? Спасибо.
Вы можете добавить клавишу-ускоритель в конструкторе сцен или добавить ее непосредственно в файл fxml, например так.
<MenuItem mnemonicParsing="true" onAction="#mnuSaveAction" text="%menu.title.save" fx:id="mnuSave">
<accelerator>
<KeyCodeCombination alt="UP" code="S" control="DOWN" meta="UP" shift="UP" shortcut="UP" />
</accelerator>
</MenuItem>
Если под «в javafx» вы подразумеваете без использования fxml, вы можете использовать mnuSave.setAccelerator(KeyCombination);
Если вы не используете файл fxml, вы можете добавить комбинацию клавиш, как показано ниже.
MenuItem gotoLine = new MenuItem("Goto");
KeyCombination gotoKeyCombination = new KeyCodeCombination(KeyCode.G, KeyCombination.CONTROL_DOWN);
gotoLine.setAccelerator(gotoKeyCombination);
gotoLine.setOnAction(event -> {
System.out.println("CTRL+G event triggered");
System.out.println(event.toString());
});