JAVAFX では setMnemonicParsing(true) を使用してショートカットを使用しています
グーグルからのコードは以下のとおりです
VBox mainLayout = new VBox();
MenuBar menuBar = new MenuBar();
Menu menu1 = new Menu("_File");
menu1.setMnemonicParsing(true);
menu1.getItems().addAll(new MenuItem("Menu 1"), new MenuItem("Menu 2"));
Menu menu2 = new Menu("_Other");
menu2.setMnemonicParsing(true);
menu2.getItems().addAll(new MenuItem("Other 1"), new MenuItem("Other 2"));
menuBar.getMenus().setAll(menu1, menu2);
mainLayout.getChildren().setAll(menuBar);
Scene scene = new Scene(mainLayout, 300, 100);
stage.setTitle("Demo of mnemonic");
stage.setScene(scene);
stage.sizeToScene();
stage.show();
手順は次のとおりです(ウィンドウプラットフォーム)
- Altキーを押す
- ニーモニック文字が見える
- Fキーを押す
- ドロップダウン メニューとフォーカスの取得
- 矢印(->)キーを押します
- 以下のようなエラー
java.lang.NullPointerException at com.sun.javafx.scene.control.skin.MenuBarSkin.isMenuEmpty(MenuBarSkin.java:728) at com.sun.javafx.scene.control.skin.MenuBarSkin.showNextMenu(MenuBarSkin.java:781) )
しかし、マウスでメニューバーをクリックしても起こりません。
解決策はありますか?