我在eclipse中开发了一个名为MyMenu的菜单作为插件开发。 我想在点击MyMenu时立即检测到一个监听器,但是在使用/实现MenuListener时我没有取得任何成功。 实现相同的方法是什么?
答案 0 :(得分:1)
如果您正在谈论在工作台窗口中添加主菜单项(类似于文件或编辑),则无法在不破坏API的情况下通过SWT执行此操作。有3种选择:
1)如果您正在编写RCP应用程序,您可以创建ActionBarAdvisor,它可以在填写主菜单栏时获得第一次破解。您使用MenuManagers
和IContributionItems
填写MenuManagers
。 ActionContributionItems
和CommandContributionItems
都是API。
2)使用plugin.xml并为org.eclipse.ui.menus
扩展点做出贡献。您可以静态地为其提供命令。您还可以使用动态元素来提供CompoundContributionItem
。每次菜单即将显示时都会调用CompoundContributionItem
,以便可以添加动态项(如“文件”菜单中最近打开的4个文件部分)。您可以在 org.eclipse.example.commands 插件中找到一些此示例,并在https://github.com/paulweb515/commandsEclipseCon2011
3)使用org.eclipse.ui.actionSets
扩展点。这不再处于开发阶段,在Eclipse 4.x中已弃用。