Farbige Zeilen in TableViewer

Hallo Leute,

würde gerne einzelne Reihen in meiner Table farbig darstellen,
das klappt auch sehr gut, ich würde nur keine Abstände zwischen den farbigen Spalten haben, kann man es irgendwie machen, dass die farbige Zeile durchgängig ist?

Viele Grüße Stephan
 

Anhänge

  • jpgelS9kTKEnc.jpg
    jpgelS9kTKEnc.jpg
    83,1 KB · Aufrufe: 183
Hi,

hab's nicht probiert, aber eventuell könnte das so funktionieren:

Java:
table.setIntercellSpacing(new Dimension(0, 0));

Gruß
joschi
 
Die Funktion setIntercellSpacing gibt es beim (JFace) tableViewer nicht?
Ich habe ausßerdem noch ein Problem.

Die Table befülle ich über meinen Content bzw LabelProvider. Jetzt sollen die zeilen farbig dargestellt werden, aber je nach Objekt soll die Zeile anders dargestellt werden ich habe mir das irgendwie so vorgestellt

Java:
public class LabelProvider extends LabelProvider implements ITableLabelProvider {
	public String getColumnText(Object element, int columnIndex) {
		
			if (element instanceof Object1) {
				//Wenn element vom Typ Object 1, dann soll die Zeile blau sein
				((TableItem)element).setBackground(((TableItem)element).getDisplay().getSystemColor(SWT.COLOR_DARK_BLUE));
				//und es soll dann jeweils noch ein Text ausgegeben werden
				return element.toString();
			}
			else if (element instanceof Object2) {
				
				//Wenn element vom Typ Object2, dann soll die Zeile Grau sein
				((TableItem)element).setBackground(((TableItem)element).getDisplay().getSystemColor(SWT.COLOR_GRAY));
				//und es soll dann jeweils noch ein Text ausgegeben werden
				return element.toString();
				
			}
		
		
	}
	public Image getColumnImage(Object element, int columnIndex) {
		return null;
	}
}
 
Ok hab es selber gelöst.
Im LabelProvider kann man zusätzlich das INterface ITableColorProvider und die darin enthaltenen Methoden
Java:
public Color getBackground(Object element, int columnIndex);
und
public Color getForeground(Object element, int columnIndex);
implementieren

Und schon funktioniert die ganze Geschichte :)

Viele Grüße Stephan
 
Zurück