1
我已经使用JFace创建了TreeViewer
,但现在我必须向节点添加一个右键单击侦听器。当右键点击完成它表明类似的菜单:如何为jface treeviewer创建鼠标右键菜单
- 做一些
- 什么都不做
- 删除
我试图做到这一点如下,但它是扔空指针异常。
MenuManager menuMgr = new MenuManager();
menuMgr.setRemoveAllWhenShown(true);
menuMgr.addMenuListener(new IMenuListener() {
@Override
public void menuAboutToShow(IMenuManager menuManager) {
IContributionManager menu = null;
MenuItem[] items = (MenuItem[]) menu.getItems();
for (int i = 0; i < items.length; i++)
items[i].dispose();
MenuItem itemCollectionFolder = new MenuItem((Menu) menu, SWT.NONE);
itemCollectionFolder.setText("Add Something");
MenuItem itemNewTestCase = new MenuItem((Menu) menu, SWT.NONE);
itemNewTestCase.setText("Do Nothing");
}
});
Control tree = treeViewer.getControl();
Menu menu = menuMgr.createContextMenu(tree);
tree.setMenu(menu);
当我导入org.eclipse.ui的进口包IWorkbenchActionConstants并运行代码,它抛出的错误,因为没有应用程序ID已被发现,所以这是适合的包,因为我正在使用e4 application @ flavio.donze – 2014-12-08 10:10:54
您实际上可以删除这一行,它用于通过扩展点来扩展您的菜单与动作/命令。我不认为你需要这个功能。 – 2014-12-08 10:28:13
你能告诉我如何为这个上下文菜单添加子上下文菜单,并且对于该子上下文菜单用户应该能够输入一些值。因此,如何创建一个新的@ flavio.donze – 2014-12-08 12:16:33