[sample] tableview + arrayContentProvide + default labelProvide + IColorProvider
public class TableViewer5 {
public static void creatShellArae(Shell shell) {
Table table = new Table(shell, SWT.BORDER | SWT.FULL_SELECTION);
table.setHeaderVisible(true);
for(int i=0; i < 3; i++) {
TableColumn column = new TableColumn(table, SWT.NONE);
column.setText("column " + i); column.setWidth(100);
}
TableViewer viewer = new TableViewer(table);
viewer.setContentProvider(new ArrayContentProvider());
viewer.setLabelProvider(new myLableProvider());
String[] input = {"a","b","c"};
viewer.setInput(input);
}
public static void main(String[] args) {
Display display = Display.getDefault();
Shell shell = new Shell(display);
shell.setSize(500, 300);
shell.setLayout(new FillLayout());
creatShellArae(shell);
shell.open();
shell.layout();
while (!shell.isDisposed())
if (!display.readAndDispatch())
display.sleep();
}
}
class myLableProvider extends LabelProvider implements IColorProvider {
public Color getForeground(Object element) {
if(element.toString().equals("a"))
return Display.getDefault().getSystemColor(SWT.COLOR_GREEN);
else
return Display.getDefault().getSystemColor(SWT.COLOR_RED);
}
public Color getBackground(Object element) {
return Display.getDefault().getSystemColor(SWT.COLOR_GRAY);
}
}