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…