2012-12-12 147 views
9

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

enter image description here

+0

对简单的SWT,没有RCP的答案很感兴趣。 – Baz

回答

0

如果使用org.eclipse.ui.menus扩展点,你可以把toolbar:org.eclipse.ui.trim.command2locationURI(见this answer其他位置的列表)。

+0

但是,只有在使用Eclipse RCP时才有效,不是吗? – Baz

+0

@Baz是的,只有在这种情况下。 –

+1

如果某些东西适用于基于SWT的Eclipse RCP,那么肯定会有一种方法在SWT中实现此目的。查看一些代码以查看Eclipse RCP如何实现这一点很好。 –

0

看来没有一个明显的方法来做到这一点。您可以指定从左到右或从右到左的方向,但不能同时指定两个方向。此外,没有任何可以放在菜单项之间的填充元素,因为它在Swing中。

+0

你知道有任何证据证明这一点吗? – Baz

+0

那么,我刚刚通过Eclipse文档,所以这是我的参考。 – tcb

1

您的问题的部分答案是不能添加第二个菜单栏。参考文献here

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

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

+0

出于好奇:您是否检查过RCP实施? – Baz

+0

那么RCP实现通过该扩展点添加到工具栏中,这很容易在SWT中使用(使用工具栏),所以我不觉得有必要进一步查看实现。 –