java - 如何从父类(super class)为查看器注册选择提供程序

标签 java eclipse eclipse-rcp

我有一个 View ,它扩展了另一个插件提供的 View ,如下所示:

public class View2 extends some.other.package.View1
{
    public void createPartControl(Composite parent) 
    {  
        super.createPartControl(parent);  
        //I want to do this, but I can't because its private  
        //getSite().setSelectionProvider(treeViewer);  
    }  
}  

但我无法编辑父类(super class),因此我需要从控件访问查看器。

public class some.other.package.View1 extends ViewPart
{  
    private TreeViewer treeViewer;  
    public void createPartControl(Composite parent) {  
        treeViewer = new TreeViewer(parent, SWT.V_SCROLL);  
    }  
}  

我尝试使用 parent.getChildren(); 获取 Tree 对象,但我看不到它可以根据需要强制转换为 ISElectionProvider

最佳答案

没有一些 getter 可以让你获得这个 Treeviewer 吗? 无论如何,如果没有,那么我想到的唯一获得它的方法就是使用反射。

关于java - 如何从父类(super class)为查看器注册选择提供程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2735539/

相关文章:

java - spring 集成中的运行时可配置动态路由

java - 根据切换状态禁用/启用工具栏菜单项

java - Eclipse RCP 和 Apache CXF

java - 如何在 Jhipster Gateway 中代理请求?

Java 奇怪的行为。 .jar 无法打开

java - 了解 Java 8 和 Java 9 中的顺序流拆分器与并行流拆分器

android - 我如何为选项卡式 Activity 的每个选项卡创建一个 UI?

eclipse - Android Eclipse 无法启动。发生了错误。看日志文件

eclipse - org.springframework.beans.factory.BeanCreationException : Error creating bean with name

java - 构建 Eclipse RCP 应用程序以在 GUI 和 headless 模式下运行