Hi,
ich nutze einen eigenen TableCellRenderer den ich vom DefaultTableCellRenderer ableite. Wenn ich in der Methode getTableCellRendererComponent setForeground(Color.RED) hinterlegt wird die komplette Tabelle in Rot dargestellt. Wenn ich jedoch lediglich eine Spalte markieren möchte wird immer lediglich der Wert der Spalte in der markierten Zeile rot dargestellt. Auch wenn ich die Darstellung auf den Inhalt prüfen will. Beispielsweise wenn A enthalten ist soll der Wert rot dargestellt werden klappt das nur wenn die Zeile mit eine A markiert ist.
Hat jemand eine Idee?
ich nutze einen eigenen TableCellRenderer den ich vom DefaultTableCellRenderer ableite. Wenn ich in der Methode getTableCellRendererComponent setForeground(Color.RED) hinterlegt wird die komplette Tabelle in Rot dargestellt. Wenn ich jedoch lediglich eine Spalte markieren möchte wird immer lediglich der Wert der Spalte in der markierten Zeile rot dargestellt. Auch wenn ich die Darstellung auf den Inhalt prüfen will. Beispielsweise wenn A enthalten ist soll der Wert rot dargestellt werden klappt das nur wenn die Zeile mit eine A markiert ist.
Hat jemand eine Idee?
Code:
@Override
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus,
row, column);
if(value.toString().equals("A")){
//Geht nicht
c.setForeground(Color.RED);
}
if(column == 2){
//Geht nicht
c.setForeground(Color.RED);
}
//Klappt
c.setForeground(Color.RED);
return this;
}
Zuletzt bearbeitet: