在 e4 Rcp 中将弹出菜单添加到树中
Adding a popup Menu to a tree in e4 Rcp
我正在 RCP 应用程序中创建树结构。我希望能够创建一个弹出菜单。我已经能够创建一个虚拟菜单项。
final Menu treeMenu = new Menu(check.getShell(), SWT.POP_UP);
MenuItem item = new MenuItem(treeMenu, SWT.PUSH);
item.setText("Open");
item.addSelectionListener(new SelectionListener() {
@Override
public void widgetSelected(SelectionEvent e) {
System.out.println("CAme in Open");
}
@Override
public void widgetDefaultSelected(SelectionEvent e) {
// TODO Auto-generated method stub
}
});
check.setMenu(treeMenu);
但是此菜单无法识别节点详细信息。我想要一些可以获取有关我们打开上下文菜单的节点的信息的东西。
如果您使用的是 TreeViewer
(或 TableViewer
),只需获取当前选择:
IStructuredSelection sel = (IStructuredSelection)treeViewer.getSelection();
Object selectedElement = sel.getFirstElement();
对于 Tree
使用:
TreeItem [] selectedItems = tree.getSelection();
我正在 RCP 应用程序中创建树结构。我希望能够创建一个弹出菜单。我已经能够创建一个虚拟菜单项。
final Menu treeMenu = new Menu(check.getShell(), SWT.POP_UP);
MenuItem item = new MenuItem(treeMenu, SWT.PUSH);
item.setText("Open");
item.addSelectionListener(new SelectionListener() {
@Override
public void widgetSelected(SelectionEvent e) {
System.out.println("CAme in Open");
}
@Override
public void widgetDefaultSelected(SelectionEvent e) {
// TODO Auto-generated method stub
}
});
check.setMenu(treeMenu);
但是此菜单无法识别节点详细信息。我想要一些可以获取有关我们打开上下文菜单的节点的信息的东西。
如果您使用的是 TreeViewer
(或 TableViewer
),只需获取当前选择:
IStructuredSelection sel = (IStructuredSelection)treeViewer.getSelection();
Object selectedElement = sel.getFirstElement();
对于 Tree
使用:
TreeItem [] selectedItems = tree.getSelection();