Как в 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());
Получаем
этот результат.