Bom, eu tenho uma JTable bonitinha aqui. Eu quero adicionar nela um CheckBox no título da coluna, para dar aquele efeito de “Selecionar/Deselecionar todos” na JTable.
Ao clicar nessa CheckBox geral, selecionar todos os registros da tabela e, ao deselecionar, apagar a seleção dos registros.
Anexo ao tópico tem um exemplo de onde quero colocar.
Alguma ideia, pessoal?
Pouco importa se você usou ou não AbstractTableModel. Esse é um aspecto da view.[/quote]
Perfeito, Vini. Alterei o Header da coluna que eu queria. Porém, ela perde o LaF de um cabeçalho [vide anexo ao tópico].
Outra coisa: como faço para implementar um mouseListener para esse meu header?
Quero fazer a implementação do “Marcar/desmarcar todos”, mas não tô conseguindo saber ao certo onde devo implementar/adicionar esse evento que criei.
Opá … somente para completar a resposta …
no construtor da classe pede como parametro um ItenListner …
segue uma implementação modelo … claro que pode ser melhorada!!
[code]
class MyItemListener implements ItemListener {
public void itemStateChanged(ItemEvent e) {
Object source = e.getSource();
if (source instanceof AbstractButton == false) return;
boolean checked = e.getStateChange() == ItemEvent.SELECTED;
for (int i = 0; i < modelo.getRowCount(); i++) {
modelo.setValueAt(checked, i, 0);
}
}
} [/code]
e para usar as classes basta fazer da seguinte maneira:
Sei que já faz tempo desde a última postagem neste tópico mais tenho uma dúvida…
Na Classe MyItemListener, de qual tipo seria o objeto modelo? Vi que não tem uma declaração do mesmo e não consegui aplicar no meu ambiente o “Selecionar Todos” pelo header!
Seria a minha tabela ou o model dela?
Se sim, então euteria que passar como parâmetro minha tabela para esta classe executar ou alterando os parâmetros do método itemStateChanged() eu perco a referência @Override?