我可以仅使用功能键(例如 "F11")作为 Java FX 中的热键吗?

Can I use ONLY Function Keys ("F11" for example) as a hot key in Java FX?

我正在尝试使用 JavaFX 为桌面应用程序创建一些菜单选项。已请求的一项要求是将功能键 F1-F12 映射到特定操作,而不需要像 这样的修饰键CtrlShift

这可能吗?当我尝试在 SceneBuilder 中添加这些时,UI 似乎需要修饰符 - 它不允许我 select "none" + F11 例如。

谢谢。

也许这个

scene.getAccelerators().put(
        new KeyCodeCombination( KeyCode.F10 ),
        new Runnable()
        {
            @Override
            public void run()
            {
                // just do action
            }
        }
);

由于我是动态创建菜单 - 我可以执行以下操作:

mi.setOnAction(event -> {
                ...do some stuff
            });
            if(child.hasKeyCode())){
                KeyCode kc = KeyCode.getKeyCode(child.getKeyCode());
                mi.setAccelerator(new KeyCodeCombination(kc));              }
            parentMenu.getItems().add(mi);

[编辑]

我发现在 SceneBuilder 中,如果您 select 一个修饰符并将 FXML 中的值从 ANY 或 DOWN 更改为 UP 然后功能键,它将起作用。