V
Vitali2000
Gast
Hallo! Für ein Spiel (Schiffe versenken) habe ich auf einem Frame zwei JTables.
Ich habe dafür eine Klasse MyTableModel extends AbstractTableModel [...],
in der ich einige Sachen mache, hier interessiert aber nur:
Nun möchte ich noch abhängig von dem gespeicherten Wert eine Vorder- / Hintergrund-Farbe setzen.
Mein bisherirger Ansatz führt nicht zum Erfolg:
und
Die Felder werden eingefärbt, aber statt Häckchen werden Strings (true/false) angezeigt.
Ich habe dafür eine Klasse MyTableModel extends AbstractTableModel [...],
in der ich einige Sachen mache, hier interessiert aber nur:
Code:
public Class<?> getColumnClass(int c) { return Boolean.class; };
// damit ich schöne Häckchen habe.
}
public Object getValueAt(int row, int col) {
// Ist der gespeicherte Wert != 0, dann ist das Häckchen aktiviert.
return (rowData[row][col] != 0);
}
public void setValueAt(Object value, int row, int col) {
// speichert Integer-Werte in rowdata[][]
}
Nun möchte ich noch abhängig von dem gespeicherten Wert eine Vorder- / Hintergrund-Farbe setzen.
Mein bisherirger Ansatz führt nicht zum Erfolg:
Code:
private class MyRenderer extends DefaultTableCellRenderer {
@Override
public void setValue(Object value) {
super.setValue(value);
setBackground(Color.cyan);
}
}
Code:
jTableMyField.setDefaultRenderer(Boolean.class, new MyRenderer());
Die Felder werden eingefärbt, aber statt Häckchen werden Strings (true/false) angezeigt.