我的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;
}
但是,这是一种依赖于平台的硬编码方法,每次更改菜单项标签文本或加速器时都需要进行调整。
发布于 2017-01-20 17:23:22
这里有一个我设法实现的解决方案,就像默认颜色不会出现一样,但是如果您将两种不同的颜色(对于Label
和Background
)放在一起,那么现在它将是丑陋的,这是我唯一意识到的事情。我知道有东西不见了,但我不知道是什么:
.menu-button {
-fx-pref-width: 250px;
-fx-background-color: #72b3c9;
}
.menu-item {
-fx-pref-width: 250px;
}
.menu-item > .label{
-fx-pref-width: 200px;
}
试着完善它,在我这一边我会努力找到更好的解决方案,祝你好运!
发布于 2018-06-15 13:21:09
这已经是一个很老的问题了,也许你已经找到了一些解决办法。但我在这里给出我的答案,以便其他人能够发现它是有用的。
不要为.menu-item
或它的子.menu-item > .label
设置任何宽度。只在.accelerator-text
中设置填充,如下所示:
.menu-item > .accelerator-text {
-fx-padding: 0 0 0 30px;
}
自定义左填充以调整菜单项的宽度。
https://stackoverflow.com/questions/41767933
复制相似问题