我正在努力使JavaFX Mnemonic工作.我在场景上有一些按钮,我想要实现的是按Ctrl + S来触发此按钮事件.这是一个代码方案:
@FXML
public Button btnFirst;
btnFirst.getScene().addMnemonic(new Mnemonic(btnFirst,
new KeyCodeCombination(KeyCode.S, KeyCombination.CONTROL_DOWN)));
Run Code Online (Sandbox Code Playgroud)
Button的mnemonicParsing是错误的.(好吧,在尝试完成这项工作时,我试图将其设置为true,但没有结果).JavaFX文档指出,当在场景上注册助记符,并且KeyCombination到达未使用的场景时,目标节点将被发送一个ActionEvent.但这不起作用,可能,我做错了......
我可以使用标准按钮的助记符(通过将mnemonicParsing设置为true并使用下划线字符设置前缀'F'字母).但是这样用户必须使用Alt键,这会在带有菜单栏的浏览器上带来一些奇怪的行为(如果应用程序嵌入到网页中,而不是通过按Alt + S触发按钮事件后激活的浏览器菜单).此外,标准方式使得无法像Ctrl + Shift + F3等那样制作快捷方式.
那么,如果有某种方法可以使这项工作?