在 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();