如何从MenuManager中的贡献项目获取菜单项?

时间:2011-11-13 10:37:23

标签: java eclipse-plugin swt jface

我有一个填充了Actions的MenuManager,是否可以访问动作的相应MenuItem(ContributionItem)?

MenuManager menuManager = new MenuManager("#PopupMenu", "contextMenu");
menuManager.add(IAction1...);
menuManager.add(IAction2...);

Menu menu = menuManager.createContextMenu(myTreeVvewer.getControl());
myTreeVvewer.getControl().setMenu(menu);

myTreeVvewer.getTree().addSelectionListener(new SelectionListener() {

     public void widgetDefaultSelected(SelectionEvent e) {
          //Iterate menu items of menu and set something... 


      }

}

1 个答案:

答案 0 :(得分:3)

使用选项MenuManager#.setRemoveAllWhenShown(true);可能会更容易,然后在IMenuListener中动态添加菜单项。