JTable und Farbe von Zellen

Status
Nicht offen für weitere Antworten.

meladamo

Mitglied
Hallo Leute,

ich habe eine Tabelle mit JTable generiert, in der Integer Werte drin sind. Ich möchte, dass ein bestimmter Wert in der Tabelle eine andere Farbe hat bzw. die Zelle, in der sich der Wert befindet, mit einer Farbe markiert wird, wenn die Tabelle erzeugt wird. Ich habe DefaultTableCellRenderer erweitert und setValue überschrieben:

Code:
class ColoredCellRenderer extends DefaultTableCellRenderer{

    int iDay;
    public ColoredCellRenderer(int iDay){
        this.iDay = iDay;
    }
       public void setValue( Object value ){
        String s = value.toString();
        System.out.println(s);
        if (Integer.parseInt( s ) == iDay)
            setForeground(Color.BLUE);
        setText(s);
    }
}

Dann setze ich den neuen Renderer als DefaultRenderer:

Code:
DefaultTableCellRenderer coloredRenderer = new ColoredCellRenderer(this, calendar.get(Calendar.DAY_OF_MONTH));
jTable_Kalender.setDefaultRenderer(Integer.class, coloredRenderer);

Wenn die Tabelle erzeugt wird, so wird der Wert calendar.get(Calendar.DAY_OF_MONTH) aber nicht markeirt. Woran kann das denn liegen?

Danke
Ciao
 
Tach,
Du musst die getTableCellRendererComponent(...) Methode in Deinem Renderer überschreiben/implementieren.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben