[RESOLVIDO] ação ao selecionar linha do jtable

8 respostas
I

pessoal tem como colocar uma ação ao selecionar linha do jtable?

8 Respostas

S

igor

tem sim!

vc pode usar o evento: jTableMouseClicked por exemplo!

I

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)?

S

esse post pode te ajudar:

I

obrigado

aquele codigo funciona certinho

I

agora estou com um novo problema

quando clico para reordenar as linhas e mando excluir a selecionada ele exclui a primeira da ordem original

S

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());
I

é 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

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);
    }
I

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); }

Criado 23 de agosto de 2012
Ultima resposta 25 de ago. de 2012
Respostas 8
Participantes 2