Java 如何在TreeViewer(JFace)项目上添加鼠标右键单击侦听器?
我不知道如何在TreeViewer(JFace)项目上添加鼠标右键单击侦听器 这是我的源代码,我创建了一个类treeview从viewpart扩展:Java 如何在TreeViewer(JFace)项目上添加鼠标右键单击侦听器?,java,treeview,jface,Java,Treeview,Jface,我不知道如何在TreeViewer(JFace)项目上添加鼠标右键单击侦听器 这是我的源代码,我创建了一个类treeview从viewpart扩展: /* * Creates the tree. * * @return the tree object and create part control */ private TreeObject CreateTree() { TreeParent root = new TreeParent(""); DemoTreeMo
/*
* Creates the tree.
*
* @return the tree object and create part control
*/
private TreeObject CreateTree() {
TreeParent root = new TreeParent("");
DemoTreeModel ctModel = new DemoTreeModel();
List<String> listType = ctModel.getType();
for (String type : listType) {
TreeParent parentNode1 = new TreeParent(type);
parentNode1.setLevel(1);
List<String> listMachine = ctModel.getName(type);
if (listMachine != null) {
for (String machine : listMachine) {
TreeParent childNode1 = new TreeParent(machine);
childNode1.setLevel(2);
parentNode1.addChild(childNode1);
List<String> listVersion = ctModel.getVersion(machine);
if (listVersion != null) {
for (String ver : listVersion) {
TreeObject version = new TreeObject(ver);
version.setLevel(3);
version.setData(ver);
childNode1.addChild(version);
}
}
}
}
root.addChild(parentNode1);
}
return root;
}
/*
*创建树。
*
*@返回树对象并创建零件控件
*/
私有树对象CreateTree(){
树状根=新树状根(“”);
DemoTreeModel ctModel=新DemoTreeModel();
List listType=ctModel.getType();
for(字符串类型:listType){
TreeParent parentNode1=新的TreeParent(类型);
parentNode1.setLevel(1);
List listMachine=ctModel.getName(类型);
if(listMachine!=null){
用于(字符串机:listMachine){
TreeParent childNode1=新的TreeParent(机器);
childNode1.setLevel(2);
parentNode1.addChild(childNode1);
List listVersion=ctModel.getVersion(机器);
if(listVersion!=null){
for(字符串版本:listVersion){
TreeObject版本=新的TreeObject(版本);
版本。设置级别(3);
版本设置数据(版本);
childNode1.addChild(版本);
}
}
}
}
root.addChild(parentNode1);
}
返回根;
}
您可以使用以下内容:
MenuManager menuMgr = new MenuManager();
menuMgr.setRemoveAllWhenShown(true);
menuMgr.addMenuListener(new IMenuListener() {
@Override
public void menuAboutToShow(IMenuManager menuManager) {
... add items to menu manager
}
});
Control tree = treeViewer.getControl();
Menu menu = menuMgr.createContextMenu(tree);
tree.setMenu(menu);
这是使用一个
IMenuListener
,它允许您在每次显示菜单时添加不同的菜单项,以便您能够适应所选内容。让我试试,非常感谢!