Hi zusammen,
ich habe ein kleines Problemchen. Also ich möchte eine Tabelle erstellen, in der manche Zellen farbig markiert werden.
Dazu habe ich ein TableModel und einen TableCellRenderer programmiert. Die Tabelle wird korrekt erzeugt, mit Daten füllt, aber leider nicht farbig markiert.
Vielleicht fällt jemanden von euch auf, was ich verkehrt gemacht habe.
Hier der Code:
in JFrame:
ColoredTableCellRenderer:
Interessant ist, dass der Konstruktor vom Renderer aufgerufen wird (sehe ich an der Ausgabe), aber die setValue Methode nicht. Woran kann das liegen?
schönen Gruß
tobias
ich habe ein kleines Problemchen. Also ich möchte eine Tabelle erstellen, in der manche Zellen farbig markiert werden.
Dazu habe ich ein TableModel und einen TableCellRenderer programmiert. Die Tabelle wird korrekt erzeugt, mit Daten füllt, aber leider nicht farbig markiert.
Vielleicht fällt jemanden von euch auf, was ich verkehrt gemacht habe.
Hier der Code:
in JFrame:
Code:
DefaultTableCellRenderer ren = new ColoredTableCellRenderer();
JTable table = new JTable();
table.setDefaultRenderer(ColoredTableCellRenderer.class, ren);
TableModel model = new QuadratTableModelSimple();
model.isCellEditable(0, 0);
table.setModel(model);
JScrollPane scrollpane = new JScrollPane(table);
pan.add(scrollpane);
ColoredTableCellRenderer:
Code:
import java.awt.Color;
import javax.swing.table.DefaultTableCellRenderer;
class ColoredTableCellRenderer extends DefaultTableCellRenderer {
ColoredTableCellRenderer() {
super();
System.out.println("konstruktor");
}
public void setValue(Object value) {
System.out.println("method");
setForeground(Color.red);
}
}
Interessant ist, dass der Konstruktor vom Renderer aufgerufen wird (sehe ich an der Ausgabe), aber die setValue Methode nicht. Woran kann das liegen?
schönen Gruß
tobias