Java 一键MenuItem.setAccelerator()

Java 一键MenuItem.setAccelerator(),java,keyboard-shortcuts,menuitem,javafx-8,Java,Keyboard Shortcuts,Menuitem,Javafx 8,我想设置一个键MenuItem accerelator。我知道如何为组合键执行此操作,例如: ..但我一直停留在单键快捷方式实现上,例如F5或ALT键 我知道,我可以通过使用MenuItem.setonkeypressedneweventhandler获得单键快捷方式的大部分功能;方法,但我更喜欢避免这种情况,而且我喜欢相关菜单项右侧的accelerator文本标签: 只需使用另一个构造函数进行KeyCodeCombination,例如: MenuItem.setAccelerator(new

我想设置一个键MenuItem accerelator。我知道如何为组合键执行此操作,例如:

..但我一直停留在单键快捷方式实现上,例如F5或ALT键

我知道,我可以通过使用MenuItem.setonkeypressedneweventhandler获得单键快捷方式的大部分功能;方法,但我更喜欢避免这种情况,而且我喜欢相关菜单项右侧的accelerator文本标签:


只需使用另一个构造函数进行KeyCodeCombination,例如:

MenuItem.setAccelerator(new KeyCodeCombination(KeyCode.S, KeyCombination.ModifierValue.ANY, KeyCombination.ModifierValue.ANY, KeyCombination.ModifierValue.ANY, KeyCombination.ModifierValue.ANY, KeyCombination.ModifierValue.ANY));

此解决方案不允许使用ALT键。我认为不可能使用诸如CTRL、ALT、SHIFT等修改键作为加速键,这是有意义的,因为这些键不是单独使用的,而是与另一个键一起使用,以便进行组合。在这种情况下,您必须使用按键式侦听器。
MenuItem.setAccelerator(new KeyCodeCombination(KeyCode.S, KeyCombination.ModifierValue.ANY, KeyCombination.ModifierValue.ANY, KeyCombination.ModifierValue.ANY, KeyCombination.ModifierValue.ANY, KeyCombination.ModifierValue.ANY));