Hallo, habe folgendes Problem:
Ich habe eine JTable mit 4 Spalten. Im TableCellRenderer soll jetzt überprüft werden, was in Spalte zwei steht, und je nach dem die ganze Zeile einfärben.
Das überprüfen funktioniert ja, nur habe ich es bis jetzt nur geschafft, die Zelle, in der die Bedingung zutrifft einzufärben. Alle anderen Zellen dieser Zeile weiß ich nicht, wie ich sie einfärben soll. Hier mal der Code:
Ich habe eine JTable mit 4 Spalten. Im TableCellRenderer soll jetzt überprüft werden, was in Spalte zwei steht, und je nach dem die ganze Zeile einfärben.
Das überprüfen funktioniert ja, nur habe ich es bis jetzt nur geschafft, die Zelle, in der die Bedingung zutrifft einzufärben. Alle anderen Zellen dieser Zeile weiß ich nicht, wie ich sie einfärben soll. Hier mal der Code:
Code:
private class AdvTableRenderer
implements TableCellRenderer
{
private Color lightBlue = new Color(160, 160, 255);
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
JLabel lbl_cell = new JLabel((String)value);
lbl_cell.setOpaque(true);
lbl_cell.setBorder(BorderFactory.createEmptyBorder(1, 1, 1, 1));
lbl_cell.setFont(table.getFont());
lbl_cell.setForeground(table.getForeground());
lbl_cell.setBackground(table.getBackground());
String s = (String)value;
column = table.convertColumnIndexToModel(column);
if(s.equals("Geburtstag")) { // das funktioniert
lbl_cell.setBackground(Color.LIGHT_GRAY);
}
if(isSelected) {
lbl_cell.setBackground(lightBlue);
}
return lbl_cell;
}
}