0
votes

I use JTable, and here how it's like when I use

enter image description here

As you can see it's show sort arrow. Nice. Now I want to change color of header when filter by this column. I use this code:

private void refreshColumnHeader() {
        // model column "Added on" index always = 2
        JLabel blueLabel = new JLabel(m2DocumentsTableModel.getColumnName(modelColumnIndex), JLabel.CENTER);
        blueLabel.setFont(new Font("SansSerif", Font.PLAIN, 12));
        blueLabel.setBorder(headerBorder);
        TableCellRenderer tableCellRenderer = new JComponentTableCellRenderer();
        TableColumnModel columnModel = m2DocumentsTableView.getColumnModel();
        TableColumn columnAddedOn = columnModel.getColumn(vColIndex);
        if (modelColumnIndex == 1) { // column "Added On"
            if (!dateTimeFilter.hasFilter()) {
                blueLabel.setForeground(foregroundTableHeaderNotFilter);
            } else {
                blueLabel.setForeground(foregroundTableHeaderFilter);
            }
        }
        columnAddedOn.setHeaderRenderer(tableCellRenderer);
        columnAddedOn.setHeaderValue(blueLabel);
    }

But now the arrow is hide.

enter image description here