我正在使用 RCP 应用程序菜单。如下图所示,我尝试将新添加的“帮助”菜单移动到 RCP 应用程序附带的免费赠品菜单的末尾。目前,代码只是使用从 ActionBarAdvisor 派生创建的类将其添加到菜单栏。
公共(public)类ApplicationActionBarAdvisor扩展了ActionBarAdvisor
看看其他可用的方法,我发现一个appendToGroup 方法可能会很有趣。唯一的问题是它需要一个组名,而我没有。我一直在使用的菜单 ID 似乎不足以作为组名。
这是我的代码
@Override protected void fillMenuBar(IMenuManager menuBar)
{
MenuManager helpMenu = new MenuManager("&Help", IWorkbenchActionConstants.M_HELP);
//menuBar.appendToGroup(menuBar.getId(), helpMenu);
menuBar.add(helpMenu);
helpMenu.add(aboutAction);
}
已修复
最佳答案
如果您要添加到使用普通 Eclipse ActionBarAdvisor (WindowActionBuilder
) 的 RCP,则在现有窗口和帮助菜单之前会出现一个 ID 为 IWorkbenchActionConstants.MB_ADDITIONS
的组标记。
现有的帮助菜单的 ID 为 IWorkbenchActionConstants.M_HELP
,因此您可以使用以下方式找到此菜单:
IMenuManager helpMenu = menuBar.findMenuUsingPath(IWorkbenchActionConstants.M_HELP);
如果您正在基于 ActionBarBuilder
编写自己的操作栏构建器,则菜单管理器中没有定义组,并且您无法使用 appendToGroup
。您只需按照您希望菜单显示的顺序调用 add
即可。
关于java - 将自定义 menuManager 移动到现有 RCP 应用程序菜单的末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41572424/