Java SWT相当于WPF的itemtemplate?

时间:2012-03-25 03:10:23

标签: java swt

是否可以通过指定Listbox Itemtemplate显示带有自定义项模板的项目列表,例如可以在WPF中执行的项目?我想要显示一个Person实例列表,每个实例都有一个名称,年龄和图片。每个listitem都有eq。标签名称,年龄和图片的图像区域。

1 个答案:

答案 0 :(得分:2)

你可以为此目的使用Composite类,或者这个类的一些派生。我是如何做到的:

public class UiTransaction {

private String sFirstlabel;
private String sSecondlabel;

public UiTransaction(String sFirstlabel, String sSecondlabel) {
    this.sFirstlabel = sFirstlabel;
    this.sSecondlabel = sSecondlabel;
}

public Composite getComposite(Composite composite, int style){
    return new SpecificComposite(composite,style);
}
class SpecificComposite extends Composite {

    public SpecificComposite(final Composite composite, int style) {
        super(composite, style);
        Label lblFirstlabel = new Label(this, SWT.NONE);
        lblFirstlabel.setBounds(10, 10, 275, 15);
        lblFirstlabel.setText(sFirstlabel);

        Label lblSecondlabel = new Label(this, SWT.NONE);
        lblSecondlabel.setBounds(10, 31, 275, 15);
        lblSecondlabel.setText(sSecondlabel);

    }

}

}

之后,您可以使用ScrolledComposite显示此自定义Composite。