在创建JavaFX应用程序并在FXML文件中启用助记符解析时,您应该能够在 javafx.scene.control.Menu 的标签字符串中使用“_”字符以允许解析为Alt代码(在Windows上)。这样可行,但在显示舞台时,菜单的宽度似乎有一个额外的空间,如2014年this错误报告中所确认。
我的问题如下:有没有人知道解决这个问题的任何解决方法?我想过计算文本本身的大小然后手动设置菜单的宽度,但似乎没有看到JavaFX的Menu有setWidth(),widthProperty()或其他手动设置大小的方法。
我还想过将菜单中的文本居中,但是找不到任何通过Java代码,Scene Builder或JavaFX的CSS实现这些内容的方法。
以下是该问题的屏幕截图:
编辑:
在使用它之后,我发现你可以在CSS中执行以下操作:
.menu-bar .menu .label {
-fx-alignment: center;
}
这会将JavaFX菜单的标签与居中对齐,但额外的空间仍然存在。它的效果足以满足我的OCD,但还有更好的方法来处理这个问题吗?