首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将菜单项加速器调整到不同的菜单宽度?

如何将菜单项加速器调整到不同的菜单宽度?
EN

Stack Overflow用户
提问于 2017-01-20 16:12:23
回答 2查看 431关注 0票数 1

我的menu-button更宽一点:

代码语言:javascript
运行
复制
.menu-button {
  -fx-pref-width: 250px;
  -fx-background-color: #72b3c9;
  -fx-padding: 5 16 5 16;
}

菜单及其项(及其加速器)按预期显示,如下所示:

但是,当我想将menu-item的宽度与menu-button的宽度对齐时,如下所示:

代码语言:javascript
运行
复制
.menu-item {
  -fx-pref-width: 250px;
  -fx-pref-height: 40px;
  -fx-padding: 5px 16px 5px 16px;
}

然后我就不能让加速器对齐到菜单项的右边:

我想要的(并期望)是,加速器遵循菜单项的宽度,并与各自菜单项的右边对齐,如下所示:

我怎样才能做到这一点?

编辑:

可以使用一种增加左标签填充的方法,从而迫使加速器向右移动:

代码语言:javascript
运行
复制
.menu-item .label {
  -fx-padding: 0 120px 0 0;
}

但是,这是一种依赖于平台的硬编码方法,每次更改菜单项标签文本或加速器时都需要进行调整。

EN

回答 2

Stack Overflow用户

发布于 2017-01-20 17:23:22

这里有一个我设法实现的解决方案,就像默认颜色不会出现一样,但是如果您将两种不同的颜色(对于LabelBackground)放在一起,那么现在它将是丑陋的,这是我唯一意识到的事情。我知道有东西不见了,但我不知道是什么:

代码语言:javascript
运行
复制
 .menu-button {

  -fx-pref-width: 250px;
  -fx-background-color: #72b3c9;

 }

 .menu-item {

   -fx-pref-width: 250px;

 }

 .menu-item > .label{

  -fx-pref-width: 200px;

 }

试着完善它,在我这一边我会努力找到更好的解决方案,祝你好运!

票数 1
EN

Stack Overflow用户

发布于 2018-06-15 13:21:09

这已经是一个很老的问题了,也许你已经找到了一些解决办法。但我在这里给出我的答案,以便其他人能够发现它是有用的。

不要为.menu-item或它的子.menu-item > .label设置任何宽度。只在.accelerator-text中设置填充,如下所示:

代码语言:javascript
运行
复制
.menu-item > .accelerator-text {
    -fx-padding: 0 0 0 30px;
}

自定义左填充以调整菜单项的宽度。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41767933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档