【问题标题】:Menu on the right side?右边的菜单?
【发布时间】:2012-12-12 08:45:54
【问题描述】:

是否可以在应用程序窗口右侧添加MenuItem(或第二个Menu)(如下图所示)?

【问题讨论】:

  • 对简单 SWT 的答案非常感兴趣,没有 RCP。

标签: java layout swt toolbar


【解决方案1】:

您的问题的部分答案是无法添加第二个菜单栏。参考here

每个 shell 都可以使用 Shell 的 setMenuBar(Menu menuBar) 方法选择性地显示单个菜单栏。可以在一个 shell 中创建多个菜单栏,但在一个 shell 中一次只能看到一个。

也许您可以尝试创建第二个 shell 窗口,将鼠标悬停在您想要第二个(右对齐)菜单的位置上。您需要确保此外壳始终保持连接到窗口的特定角落。如果主外壳的大小减小,您可能会遇到问题,这可能会显示一个菜单与另一个重叠。虽然不是一个好的解决方案。也许使用工具栏代替填充 (SWT#SEPARATOR_FILL) 项?

【讨论】:

  • 只是出于好奇:您检查过 RCP 实现吗?
  • 好吧,RCP 实现通过该扩展点添加到工具栏,这很容易通过 SWT(使用工具栏)实现,所以我觉得没有必要进一步研究实现。跨度>
【解决方案2】:

如果您使用org.eclipse.ui.menus 扩展点,您可以将toolbar:org.eclipse.ui.trim.command2 设置为locationURI(有关其他位置的列表,请参阅this answer)。

【讨论】:

  • 但这只有在您使用 Eclipse RCP 时才有效,不是吗?
  • @Baz 是的,仅在这种情况下。
  • 如果基于 SWT 的 Eclipse RCP 可以工作,那么肯定有办法在 SWT 中实现这一点。最好看一些代码来了解 Eclipse RCP 是如何实现这一点的。
  • 使用此答案中提供的位置 URI 将创建一个工具栏项,而不是主菜单栏上的东西,对吧?
【解决方案3】:

似乎没有明显的方法可以做到这一点。您可以指定从左到右或从右到左的方向,但不能同时指定两者。此外,没有任何填充元素可以放在菜单项之间,就像在 Swing 中一样。

【讨论】:

  • 你知道任何可以证实这一点的参考资料吗?
  • 好吧,我刚刚浏览了 Eclipse 文档,所以这是我的参考。
猜你喜欢
  • 1970-01-01
  • 2013-04-05
  • 1970-01-01
  • 1970-01-01
  • 2016-04-24
  • 2018-06-12
  • 2019-07-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多