Table, Zellhintergrund einfärben

Um in einer Tabellen den Hintergrund einer Zelle einzufärben kann folgender Code verwendet werden:

Color red    = Display.getCurrent().getSystemColor(SWT.COLOR_RED);
int   column = 2;
TableItem[] items = getTable().getItems();
for (TableItem item : items)
   item.setBackground(column, red);

Der Code färbt alle Zellen der 2. Spalte rot.



Nachtrag:
Die obige Methode hat den Nachteil, dass die Einfärbung nicht dauerhaft ist. Daher ist es besser mit dem Interface ITableColorProvider zu arbeiten.

class MyLabelProvider implements ITableLabelProvider, ITableColorProvider {
   :
   @Override
   public Color getBackground(Object element) {
      return Display.getCurrent().getSystemColor(SWT.COLOR_RED);  // Für die Standardfarbe null zurückgeben
   }
}

Eigene Werkzeuge
Werkzeuge

gratis Counter by GOWEB
seit 9.10.2007