Hallo, ich habe eine Problem mit meiner JTable. Ich möchte abhängig vom Inhalt der ersten Spalte, die gesamte Zeile durch andere Hinterbrundfarbe hervorheben.
Wie kann ich das realisieren?
Bisher habe ich einen den CellRenderer überschrieben, der aber logischerweise nur die Zelle mit dem bestimmten Inhalt andersfarbig macht.
Ich möchte aber die gesamte Zeile X mit dem Inhalt in der ersten Spalte andersfarbig machen.
Danke für Tipps.
Wie kann ich das realisieren?
Bisher habe ich einen den CellRenderer überschrieben, der aber logischerweise nur die Zelle mit dem bestimmten Inhalt andersfarbig macht.
Ich möchte aber die gesamte Zeile X mit dem Inhalt in der ersten Spalte andersfarbig machen.
Danke für Tipps.
Java:
...
JTable jTable1 = new JTable(model) {
public boolean isCellEditable(int x, int y) {
return false;
}
...
jTable1.setDefaultRenderer(Object.class, new CustomTableCellRenderer());
...
class CustomTableCellRenderer extends DefaultTableCellRenderer {
@Override
public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus, int row,
int column) {
Component cell = super.getTableCellRendererComponent(table, value,
isSelected, hasFocus, row, column);
try {
if (value instanceof String) {
if (value.equals("X")) {
cell.setBackground(backgroundX);
} else {
cell.setBackground(backgroundRest);
}
}
} catch (Exception e) {
e.printStackTrace();
}
return cell;
}
}