gpt4 book ai didi

java - 将自定义 menuManager 移动到现有 RCP 应用程序菜单的末尾

转载 作者:太空宇宙 更新时间:2023-11-04 11:53:33 25 4
gpt4 key购买 nike

我正在使用 RCP 应用程序菜单。如下图所示,我尝试将新添加的“帮助”菜单移动到 RCP 应用程序附带的免费赠品菜单的末尾。目前,代码只是使用从 ActionBarAdvisor 派生创建的类将其添加到菜单栏。 公共(public)类ApplicationActionBarAdvisor扩展了ActionBarAdvisor看看其他可用的方法,我发现一个appendToGroup 方法可能会很有趣。唯一的问题是它需要一个组名,而我没有。我一直在使用的菜单 ID 似乎不足以作为组名。

Where I want the menu to go

这是我的代码

@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);
}

enter image description here

已修复

enter image description here

最佳答案

如果您要添加到使用普通 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com