Olá!
Tenho um JTable e eu quero fazer isso: Quando o usuário clicar no nome da coluna, o resultado aparece em ordem conforme a coluna que ele clicou, conforme o windows explorer.
A minha pergunta é:
Como sabe o nome coluna em que o usuário clicou?!
OBS: Sei que devo usar MouseListener, mas não sei pegar o nome da coluna.
OBS 2: Uso Vector para colocar o nome das colunas!
Valeu, gurizada…
nao precisa…
voce pode encontrar classe pronta q faz isso neste link
http://java.sun.com/docs/books/tutorial/uiswing/components/table.html
Hehehe…pootz cara…não achei nada! Onde tá?
voce encontra isso no topico:
Sorting and Otherwise Manipulating Data
o nome da classe eh TableSorter
Este TableSorter não compilo aqui! Não rola na versão 1.4.2_05?
compila sim
eh essa a versao do meu SDK também
e eu ja usei uma vez esta classe
Agora que me liguei…ali etá implementado a classe TableSorter! Ela não é um tipo definido pelo JAVA!
Bem, até ai tudo bem, mas quando fui compilar esta classe tem um problema…ela usa um tipo “Directive”, que não existe! E agora?
voce deve utilizar a classe TableSorter.java !
no final deste arquivo esta definida a classe Directive
Blz Blz…tá cara me dá uma luz aqui agora…
Lá no exemplo depois, para poder utilizar o TableSorter, ele faz:
TableSorter sorter = new TableSorter(new MyTableModel());
JTable table = new JTable(sorter);
sorter.setTableHeader(table.getTableHeader());
Porém, fiquei meio perdido, pois só aprendi a utilizar JTable com Vector, portanto eu gostaria de continuar assim, pois toda minha implementação desta classe está em cima de Vectors!
No meu código eu tenho assim:
linhat = new Vector();
colunas = new Vector();
colunas.addElement("Matrícula");
colunas.addElement("Nome");
tabela = new JTable(linhat,colunas);
Tá, e agora? Como eu faço para colocar o TableSorter ai nesse meu código?
8O
ih cara… ai eu num sei…
mas eu recomendo vc aprender a trabalhar com modelo. Nao eh complicado, o codigo fica bonito, e a os outros componenetes swing sao todos assim.
no mesmo link q te passei antes ensina a trabalhar com JTable usando modelo.