JTable Mehrzeiliger Header zerstört JGoodies-Layout

Status
Nicht offen für weitere Antworten.

Reinhard

Aktives Mitglied
Hallo,

ich benötige eine JTable mit einem zweizeiligen Header. Dazu habe ich folgendes Beispiel verwendet:
http://www.esus.com/docs/GetQuestionPage.jsp?uid=1284

Das Beispiel implementiert einen eigenen TableCellRenderer. Im Konstruktor des TableCellRenderer werden folgende Methoden aufgerufen:

Code:
    setForeground(UIManager.getColor("TableHeader.foreground"));
    setBackground(UIManager.getColor("TableHeader.background"));
    setBorder(UIManager.getBorder("TableHeader.cellBorder"));

In die Anwendung habe ich das "JGoodies Looks" eingebunden. Leider sieht die Tabelle mit dem TableCellRenderer jetzt vom Layout anders aus wie die restlichen Tabellen. (siehe Screenshot) (die obere Tabelle ist mit eigenen TableCellRenderer, die unteren Tabellen passen vom Layout).

Kann mir jemand sagen, wie ich das "Look & Feel" der anderen Tabellen übernehmen kann?

Danke,
Reinhard
 
Das Problem kenne ich:
Code:
@Override
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
    {
        if (column == col)
        {
            JLabel r = (JLabel)ColumnHeaderRenderer.createColumnHeaderRenderer().getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
            r.setHorizontalTextPosition(SwingConstants.CENTER);
            r.setIcon( myIcon );
            return r;
        }
        return ColumnHeaderRenderer.createColumnHeaderRenderer().getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
    }

Das ist ein CellRenderer der ein Icon in der TableHeader setzt.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben