Я хочу изменить шрифт заголовка выбранного столбца на JTable
. Я попытался сделать это на своем ColumnHeaderRenderer
следующим образом:
public class ColumnHeaderRenderer extends JLabel implements TableCellRenderer {
public ColumnHeaderRenderer(JTable table) {
JTableHeader header = table.getTableHeader();
setOpaque(true);
setBorder(BorderFactory.createEtchedBorder());
setHorizontalAlignment(CENTER);
setForeground(header.getForeground());
setBackground(header.getBackground());
setFont(header.getFont());
setPreferredSize(new Dimension(0, 25));
}
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
Color bg = UIManager.getColor("TableHeader.background");
int selectedColumn = table.getSelectedColumn();
if (selectedColumn == column){
bg = new Color(107, 142, 35);
setFont(getFont().deriveFont(Font.BOLD));// !!!!trying to do it here!!!!
}
setBackground(bg);
setText(value.toString());
return this;
}
}
Но в результате меняется шрифт всех заголовков столбцов. Так как же изменить его только для выбранного столбца?