表中的复选框与eclipse rcp中的tableviewer

时间:2012-06-07 19:17:35

标签: java eclipse swt jface rcp

我想在列中添加一个复选框。我正在使用tableViewer。用户无法编辑该复选框。

到目前为止谷歌没有帮助,所以我来到这里。

我的labelprovider看起来像这样:

    this.tableViewer2 = new TableViewer(table1);
    this.tableViewer2.setContentProvider(new ArrayContentProvider());
    this.tableViewer2.setLabelProvider(new ITableLabelProvider() {


        @Override
        public String getColumnText(Object element, int columnIndex) {

            Platz p = (Platz) element;
            switch (columnIndex) {

            case 0:
                return p.getReihe().getReihenfolge().toString();
            case 1:
                return p.getNummer().toString();
            case 2:
                return p.getKategorie().getPreisstd().toString();

            }
            return null;
        }

    });

我想添加一个带复选框的第四列,但我不知道如何。

提前致谢!

1 个答案:

答案 0 :(得分:0)

ITableLableProvider有一个方法getColumnImage()。

只需覆盖它并返回复选框的图像。

   this.tableViewer2 = new TableViewer(table1);
   this.tableViewer2.setContentProvider(new ArrayContentProvider());
   this.tableViewer2.setLabelProvider(new ITableLabelProvider() {

    @Override
    public Image getColumnImage(Object element, int columnIndex) {
         //do magic here and return an image :)
    }

    @Override
    public String getColumnText(Object element, int columnIndex) {

        Platz p = (Platz) element;
        switch (columnIndex) {

        case 0:
            return p.getReihe().getReihenfolge().toString();
        case 1:
            return p.getNummer().toString();
        case 2:
            return p.getKategorie().getPreisstd().toString();

        }
        return null;
    }

});