我有一个 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/