JavaFX 菜单项在右侧显示快捷方式
Posted
技术标签:
【中文标题】JavaFX 菜单项在右侧显示快捷方式【英文标题】:JavaFX menu item show shortcuts on right hand side 【发布时间】:2014-02-08 04:10:59 【问题描述】:以 JavaFX Scene Builder 中编辑菜单中的菜单项为例
看看他们如何在右侧显示快捷方式?有没有什么简单的方法可以使用 JavaFX 达到同样的效果?谢谢。
【问题讨论】:
【参考方案1】:您可以在场景生成器中添加加速键,也可以像这样直接在 fxml 文件中添加它
<?import javafx.scene.input.*?>
...
<MenuItem mnemonicParsing="true" onAction="#mnuSaveAction" text="%menu.title.save" fx:id="mnuSave">
<accelerator>
<KeyCodeCombination code="S" control="DOWN" meta="UP" shift="UP" shortcut="UP" />
</accelerator>
</MenuItem>
KeyCodeCombination
有两个构造函数,第二个例子:
<MenuItem text="Renommer..." onAction="#rename" mnemonicParsing="true">
<accelerator>
<KeyCodeCombination code="F2"><modifiers></modifiers></KeyCodeCombination>
</accelerator>
</MenuItem>
如果“in javafx”是指不使用 fxml,则可以使用 mnuSave.setAccelerator(KeyCombination);
【讨论】:
是否需要指定每个属性?比如,如果我想要 Ctrl+S,你需要指定 吗? 嗯,如果我没有指定所有属性,则会出现运行时错误(当视图加载时)。我认为默认值是可以的,但我猜不是。 @UnKnown Mine 右对齐。如果不是,请提出问题并添加屏幕截图和小示例或设置的一些详细信息。 @brian ***.com/questions/38545939/… 我在这里问。我想要和 Firefox 一样的菜单项。【参考方案2】:如果您不使用 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());
);
【讨论】:
以上是关于JavaFX 菜单项在右侧显示快捷方式的主要内容,如果未能解决你的问题,请参考以下文章
怎样向开始菜单添加快捷命令 电脑怎么创建运行快捷方式到开始菜单