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