zetaec 0 Denunciar post Postado Janeiro 5, 2018 Quero capturar o clique no Título da coluna da tabela e assim ordenar os dados que vem do banco. No meu caso a coluna 1 é o Nome, então tenho uma função ordbdq(string) que manda o comando de ordenar pelo nome para o banco. Capturo o clique do mouse em um evento MouseClicked que chama a função ordenar, onde na mesma esta contido o código abaixo. int coluna = jtpessoas.getSelectedColumn(); switch(coluna) { case 1: ordbdq("select * from pessoas order by nome asc;"); break; case 2: ordbdq("select * from pessoas order by nascimento asc;"); break; case 3: ordbdq("select * from pessoas order by sexo asc;"); } O problema é que se eu clicar em qualquer linha da coluna ele muda a ordem, se eu clicar na coluna 1 na linha 20 ele muda a ordem da tabela, eu só queria que ele mudasse a ordem se eu clicasse no Título da coluna, no NOME, DATA de NASCIMENTO, etc. Como na foto abaixo. Compartilhar este post Link para o post Compartilhar em outros sites
zetaec 0 Denunciar post Postado Março 13, 2018 Consegui fazendo da seguinte forma: boolean teste = false; public void teste() { if (teste == false) { ordbdq("select * from pessoas order by " + nome + " desc;"); teste = true; } else { ordbdq("select * from pessoas order by " + nome + " asc;"); teste = false; } } jtpessoas.getTableHeader().addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { col = jtpessoas.columnAtPoint(e.getPoint()); switch(col) { case 1: nome = "rg"; teste(); break; case 2: nome = "nome"; teste(); break; case 3: nome = "nascimento"; teste(); break; case 4: nome = "sexo"; teste(); break; case 5: nome = "estadocivil"; teste(); break; } } }); Assim eu tenho o efeito desejado, igual quando clicamos na maioria dos exploradores de arquivos (um clique em Nome e os elementos são ordenados em ordem crescente pelo nome, outro clique e é ordenando em ordem decrescente, e assim com os outros tipos da coluna, data, tipo de arquivo, etc). Compartilhar este post Link para o post Compartilhar em outros sites