【发布时间】:2017-01-20 16:12:23
【问题描述】:
我的menu-button 有点宽:
.menu-button {
-fx-pref-width: 250px;
-fx-background-color: #72b3c9;
-fx-padding: 5 16 5 16;
}
并且菜单及其项目(及其加速键)按预期显示,如下所示:
但是当我想将menu-item的宽度与menu-button的宽度对齐时,像这样:
.menu-item {
-fx-pref-width: 250px;
-fx-pref-height: 40px;
-fx-padding: 5px 16px 5px 16px;
}
然后我没有将加速键对齐到菜单项的右侧:
我想要(并且期望)是加速键跟随菜单项的宽度,并且与各自菜单项的右边缘对齐,如下所示:
我怎样才能做到这一点?
编辑:
可以使用增加左标签填充的技巧,从而迫使加速器更靠右:
.menu-item .label {
-fx-padding: 0 120px 0 0;
}
但是,这是一种硬编码的依赖于平台的方法,每次更改菜单项标签文本或加速键时都需要进行调整。
【问题讨论】:
-
一个问题,如何在
menu-item的同一行显示两个(文本)项? -
@BoHalim,这不是两个单独的项目,而是一个菜单项及其加速器。使用
menuItem.setAccelerator(KeyCombination.keyCombination(keyCombination));以编程方式添加加速器。