如何在SWT的子类中创建控件.然后在父类中使用它



我需要创建带有错误视图和数据视图(我应该称之为视图吗?)的属性选项卡。我想做这样的事。我有两节课。第一:AbstractContentProvider:

 abstract public class AbstractContentProvider {
          Text errtext;
    public void createControls(Composite parent){
        super.createControls(Composite parent);
        StackLayout sl=new StackLayout();
        parent.setLayout(sl);
        Composite pane=new Composite(parent,SWT.NONE);
        //pane init code is ommitted
        errtext=new Text(pane,SWT.WRAP);
        sl.topControl=text;
    }
    public void setErrText(String text){
        errText=text;
    }
}

所以这是我的代码abstractClass,它使一个小文本和StackLayout改变周围的视图。下面是来自第二个(子)类的createcontrol:

public class ContentProvider extends AbstractContentProvider{
    public void createControls(Composite parent){
        super.createControls(Composite parent);
        //this methods are omitted, but they just creating swt toolbar and table
        createToolBar(parent);
        createTable(parent);
        setErrText("ERROR");
    }
}

属性页上可以有不同的内容,但是应该为每个选项卡创建相同的errText视图。如何从子类添加数据视图,然后通过调用父类的方法使用它?

我想我还是没有弄清楚你的问题:-$

也许你能告诉我我是否走对了方向^^

保持你的公共部分为私有变量-这样你就可以很容易地访问父变量…

private Object commonPart; //i don't know it's class
public class ContentProvider extends AbstractContentProvider{
    public void createControls(Composite parent, Object commonPart){
        super.createControls(Composite parent);
        this.commonPart= commonPart;
        //this methods are omitted, but they just creating swt toolbar and table
        createToolBar(parent);
        createTable(parent);
        setText("ERROR");      
        commonPart.doSomething(); //i don't know the common part      
    }
}

最新更新