java如何为treeviewer动态生成子菜单上下文
我已经为treeviewer填充了上下文菜单,但现在我需要动态填充treeviewer的子菜单上下文。子上下文菜单应该包含列表中的所有内容。例如,列表包含[a,b,c,d,e],所以现在主菜单有菜单a,子菜单必须包含列表中的所有元素,这可以做到吗
菜单结构应如下所示 A->;A. B C D e
现在上下文菜单的代码如下
protected void fillContextMenu(final IMenuManager contextMenu) {
//String nnn = null;
//contextMenu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
//contextMenu.add(new GroupMarker(nnn));
IMenuManager submenu = new MenuManager("Add Test Case");
submenu.add(new Action("Sub menu item 1") {
@Override
public void run() {
// implement this
}
});
contextMenu.add(submenu);
contextMenu.add(new Action("Add Test step") {
@Override
public void run() {
// don't do anything here
}
});
contextMenu.add(new Action("Add New Test Case") {
@Override
public void run() {
// implement this
}
});
}
那么现在我们如何生成列表中包含的动态子上下文菜单呢
# 1 楼答案
首先确保
在创建关联菜单时调用。这意味着每次显示菜单时都会调用
fillContextMenu
然后,您只需在列表中循环,为^{中的列表中的每个项目创建操作: