Hallo zusammen,
ich habe eine JTable die (zum testen) aus 4 Spalten und 2 Zeilen besteht. In der ersten Spalte stehen Strings, in den restlichen Spalten boolean-Werte die als Checkboxen gerendert werden.
Nun möchte ich die Farben der Zellen ändern, in denen die Checkboxen stehen. Die String-Felder stellen kein Problem dar.
Mein TableModel:
Mein Renderer:
So sollten beispielsweise Zeile 1 grün und Zeile 2 rot dargestellt werden. Es klappt aber nur mit der "String-Spalte", nicht mit den Checkboxen... was mache ich falsch?
Danke und Gruß,
Jens
ich habe eine JTable die (zum testen) aus 4 Spalten und 2 Zeilen besteht. In der ersten Spalte stehen Strings, in den restlichen Spalten boolean-Werte die als Checkboxen gerendert werden.
Nun möchte ich die Farben der Zellen ändern, in denen die Checkboxen stehen. Die String-Felder stellen kein Problem dar.
Mein TableModel:
Java:
private class UebersichtTableModel extends DefaultTableModel {
private static final long serialVersionUID = -2901586710535614349L;
public UebersichtTableModel(String[] spaltentitel, int i) {
super(spaltentitel, i);
}
public Class getColumnClass(int columnIndex) {
if (columnIndex > 0)
return Boolean.class;
else
return String.class;
}
public boolean isCellEditable(int row, int col) {
return false;
}
}
Mein Renderer:
Java:
private class UebersichtTableCellRenderer extends DefaultTableCellRenderer {
static final long serialVersionUID = -7684107825328207439L;
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
if (row == 0)
setBackground(Color.GREEN);
if (row == 1)
setBackground(Color.RED);
return this;
}
}
So sollten beispielsweise Zeile 1 grün und Zeile 2 rot dargestellt werden. Es klappt aber nur mit der "String-Spalte", nicht mit den Checkboxen... was mache ich falsch?
Danke und Gruß,
Jens