Как в JTable установить рисовальщика в заголовок колонки?

Как в JTable установить рисовальщика в заголовок колонки?

Очень просто. Нужно реализовать интерфейс TableSellRenderer, имеюший всего один метод:

public Component getTableCellRendererComponent(JTable table,Object value, boolean isSelected, boolean hasFocus, int row, int column)

После реализации интерфейса мы получим класс, который и будет рисовать заголовок колонки таблицы. Но не всей таблицы, а только заголовок того столбца, для которого мы установим нашего рисовальщика. Пример класса рисовальщика:

Этот рисовальщик несколько отличается от рисовальщика для ячеек таблицы: isSelected и hasFocus здесь всегда равны false, row всегда равен минус одному.

Рисовальщик готов, установим его в третью колонку таблицы:

table.getColumnModel().getColumn(3).setHeaderRenderer(new HeaderRenderer());

Получаем Как в JTable установить рисовальщика в заголовок колонки

этот результат.