pessoal tem como colocar uma ação ao selecionar linha do jtable?
igor
tem sim!
vc pode usar o evento: jTableMouseClicked por exemplo!
fiquei na dúvida se iria funcionar mas acabou funcionando do jeito q eu queria
mas, e se eu quisesse q tivesse ação ao clicar na linha e uma ação diferente ao clicar no nome da coluna ( por exemplo, reordenar os itens)?
esse post pode te ajudar:
obrigado
aquele codigo funciona certinho
agora estou com um novo problema
quando clico para reordenar as linhas e mando excluir a selecionada ele exclui a primeira da ordem original
Vc está verificando se realmente quando clica o método de remoção está escolhendo a linha correta?
existe num jtable o método jTable.getSelectedRow(); que retorna a linha selecionada.
vc pode pegar essa linha e chamar o outro método para remover a linha que deseja (criando um botão excluir linha por exemplo com o actionperformed com o trecho):
modelo.removeRow(jTable.getSelectedRow());
é isso mesmo q estou usando
mas quando muda a ordem remove a linha q estava na posição original
Ex:
original reordenada
1 4
2 3
3 2
1 4
se eu mandar remover a 4 na reordenada sai o 1
o código é esse
[code] private void btnRemoverActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
DefaultTableModel remove = (DefaultTableModel) tabela.getModel();
remove.removeRow(tabela.getSelectedRow());
btnRemover.setEnabled(false);
}
private void tabelaMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
btnRemover.setEnabled(true);
}[/code]
consegui
o código deveria ser esse:
private void btnRemoverActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
DefaultTableModel remove = (DefaultTableModel) tabela.getModel();
remove.removeRow(tabela.convertRowIndexToView(tabela.getSelectedRow()));
btnRemover.setEnabled(false);
}