java - 如何将 JFace Treeviewer 中的数据选择解析到 RCP 中的另一个 View ?

标签 java eclipse-rcp jface

在我的应用程序中。我有一个Treeviewer当我选择该树上的一个项目时,另一个 View 将打开,我想将树中的数据解析到新 View 。我怎样才能做到这一点?

最佳答案

首先,添加一个选择监听器。当选择事件发生时,构建要传递到 View 的数据(您可能希望将 event.getSeletion() 转换为 TreeSelection 并迭代树路径)。最后,打开您的 View (或者您可以查找 View ,如果它已经打开并激活它)并传递您的模型。它可能看起来像这样:

        treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {

            @Override
            public void selectionChanged(SelectionChangedEvent event) {
                IStructuredSelection selection = (IStructuredSelection) event.getSelection();
                Object model = selection.getFirstElement();
                try {
                    YourView view = (YourView) getSite().getPage().showView("your_view_id");
                    view.setModel(model);
                } catch (PartInitException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
    });

关于java - 如何将 JFace Treeviewer 中的数据选择解析到 RCP 中的另一个 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26503308/

相关文章:

java - 在 IntelliJ 中使用 Maven 构建 Vaadin 应用程序时遇到问题

java - 不同路径解析器

java - 表达式开始非法,如何纠正

java - 通过 ProblemsView 中的plugin.xml 添加双击操作

java - 为新的 SWTBot Eclipse 运行配置指定默认产品

java - 使用 Java 对二进制文件进行访问控制

java - 在 Eclipse RCP 中显示 View 时传递参数

java - SWT Shell KeyListener

java - SWT:单击时 CheckboxCellEditor 不会打开

swt - 在 eclipse rcp 应用程序的 Windows 平台上禁用 Jface TreeViewer 中的悬停突出显示