Personalizar Header JTable

Bom dia pessoal,

Sou novato e estou com o seguinte problema: preciso criar uma JTable com o Header da mesma personalizado, ou seja,
preciso que tenha um Label e um botão. Este botão irá excluir a coluna no qual ele está inserido.

Eu já consegui colocar o Label e o Button, só não consigo fazer com que o Botão torne-se clicável.

Segue um pedaço do código que estou tentando implementar:

public class HeaderRenderer extends JPanel implements TableCellRenderer {
    JPanel panel;
    JLabel label;
    JButton button;
    public HeaderRenderer(){
        super();
        setLayout(null);
        
        label = new JLabel("");
        add(label);
        label.setBounds(3, 3,80, 15);
        label.setOpaque(true);
        
        button = new JButton(new javax.swing.ImageIcon(getClass().getResource("remove.png")));
        add(button);
        button.setBounds(80, 3, 15, 15);
        button.setBorderPainted(false);
        button.setFocusable(false);
        button.setOpaque(false);
        
        
        button.addActionListener(new ActionListener(){
                 public void actionPerformed(java.awt.event.ActionEvent evt) {
                JOptionPane.showMessageDialog(null, "Clique: ");
                 }
             });
    }
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
        if (table != null) {  
                 JTableHeader header = table.getTableHeader();  
                 if (header != null) {  
                     setForeground(header.getForeground());  
                     setBackground(header.getBackground());  
                     setFont(header.getFont());  
                 }  
             }  
             return this;  
    }
}

Não sei se esta é a maneira correta de fazer. Já procurei em vários lugares e não encontrei algo para ajudar neste problema.

Desde já agradeço…

Ninguém?