在eclipse e4中水平排列checkboxtableviewer中的复选框

时间:2014-03-18 12:59:11

标签: java eclipse jface e4

我正在使用eclipse e4应用程序。我在Part中显示了checkboxtableviewer。现在,复选框垂直排列,如下图所示。

  

复选框MIN

     

复选框MAX

     

复选框AVG

     

复选框COUNT

以下是我使用过的代码段。

public class StatisticsPart {

private CheckboxTableViewer tableViewer;
public Object[] statisticsSelected;

@Inject
public StatisticsPart() {
    //TODO Your code here
}

@PostConstruct
public void postConstruct(Composite parent) {
     tableViewer = new CheckboxTableViewer(parent, SWT.BORDER|SWT.HORIZONTAL);
     tableViewer.add("MIN");
     tableViewer.add("MAX");
     tableViewer.add("AVG");
     tableViewer.add("COUNT");
     tableViewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
     tableViewer.addCheckStateListener(new ICheckStateListener() {

        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            statisticsSelected =  tableViewer.getCheckedElements();
        }
    });

}
}

我希望水平显示复选框名称,并在其下方显示所有相应的复选框,如下图所示。

  

MIN MAX AVG COUNT

     

复选框复选框复选框复选框

任何人都可以帮助如何做到这一点。

提前致谢

1 个答案:

答案 0 :(得分:1)

CheckboxTableViewer每行只支持一个复选框。

您可以使用普通TableViewer并定义四列。

对每列使用ColumnLabelProvider并覆盖getImage方法以提供已选中或未选中的图片。

您可以在列的编辑支持中使用CheckboxCellEditor来更改值。