Swing Hintergrundfarbe der Zelle in einer JTable bei Markierung

Ratzer

Mitglied
Hallo!
Ich habe folgendes Problem. Ich habe ein eigenes TableModel geschrieben und die getColumnClass Methode so überschrieben:
Code:
public Class getColumnClass(int col) {
		switch (col) {
		case 0:
			return Character.class;
		case 3: case 4: case 6: case 7:	case 8:	case 9:
			return Property.class;
		case 10:
			return Date.class;
		default:
			return String.class;
		}
}
Wenn ich nun in der JTable auf eine Zeile klicke, sollte ja normalerweise jede Zelle der Zeile markiert werden, aber für alle Zellen, die die ColumnClass Property bekommen haben, passiert dies nicht. Und das sieht irgendwie blöd aus. Ich nehme mal an, dass ich in dem TableRenderer, den ich für die Klasse Property geschrieben habe, irgendwas vergessen habe. Also was muss ich tun, dass bei einem Klick auf eine Zeile auch wirklich alle Zellen markiert werden (also diese leicht blaue Hintergrundfarbe bekommen)?
 
OK, hat geklappt. War auch ganz easy. Hier die Lösung für alle.
Code:
public Component getTableCellRendererComponent(JTable table, Object value,
			boolean isSelected, boolean hasFocus, int row, int col) {
	Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, col);	
	setBackground(Color.WHITE);
	if (isSelected)
		c.setBackground(table.getSelectionBackground());        
        return this;		
}
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben