Slyh: TableCellRenderer macht nichts?!

Beitrag lesen

Hallo,

table = new JTable();
table.setDefaultRenderer(Messung.class,new MessungsRenderer());

Hier setz ich den CellRenderer. Im Archiv von 2004 hab ich gefunden, dass das erste Attribut aussagt, das der CellRenderer für Spalten mit dieser Klasse definiert wird. Hab das also so geändert:

table = new JTable();
table.setDefaultRenderer(Double.class,new MessungsRenderer());

Das sieht besser aus, ja.
Du kannst auch CellRenderer für einzelne Spalten definieren, indem du
dir von der Tabelle über getColumn(int) eine einzelne Spalte
(TableColumn) holst und für diese den CellRenderer (setCellRenderer())
setzt.

Da die letzte Spalte ein Double beinhaltet.

Nun sind alle Zellen der letzten Spalte blau, ohne Inhalt.

Blau? Du meinst grün, oder?

Setzt du den übergebenen Wert auch irgendwo? Am besten ist, du
rufst in deiner getTableCellRendererComponent(...) zuerst
super.getTableCellRendererComponent(...) auf. Dann kann eigentlich
fast nichts mehr schiefgehen.
Du leitest doch von DefaultTableCellRenderer ab, oder?

Guck dir mal die Implementierung von getTableCellRendererComponent(...)
in javax.swing.table.DefaultTableCellRenderer an. Dann sollte klarer
werden, was da passiert...

Gruß
Slyh