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

时间:2014-10-22 08:34:55

标签: java eclipse-rcp jface

在我的申请中。当我在该树上选择一个项目时,我有一个Treeviewer,另一个View将打开,我想从我的树中解析数据到新的View。我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

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

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