Axel Richter: DefaultTableCellRenderer

Beitrag lesen

Hallo,

Ich habe eine Tabelle, in dieser soll die erste Hälfte der Zeilen in einer Farbe dargestellt werden, die andere in einer anderen Farbe.

Ich habe dafür folgende Klasse geschrieben

//============
class ColoredTableCellRenderer extends DefaultTableCellRenderer
{

//Hier fehlt der Constructor
     public ColoredTableCellRenderer() { super(); }

public void setValue( Object value )
  {
           setBackground( Color.blue );
           setText(String.valueOf(value));
  }
}
//============

Diese habe ich als DefaultRenderer meiner Tabelle zugewiesen

//============
DefaultTableCellRenderer ren = new ColoredTableCellRenderer();
Ausgabe.setDefaultRenderer(ColoredTableCellRenderer.class,ren);

^Hiermit setzt Du den DefaultTableCellRenderer für alle Zellen der Tabelle Ausgabe, welche Daten vom Typ ColoredTableCellRenderer enthalten. Ergo wahrscheinlich für keine.

//============

Soweit ist es in meinem Buch beschrieben. Die Ausgabe in der Tabelle hat aber immer noch die alte Farbe. Muß ich vielleicht irgendwie noch die Methode "setValue" verwenden? Aber wie und wo?

Kann mir vielleicht jemand ein einfaches Beispiel geben, wie man eine Tabelle mit farbigem Hintergrund ausgibt?

http://java.sun.com/docs/books/tutorial/uiswing/components/table.html

viele Grüße

Axel