Pegando um valor de uma JTable e passando para outro formulário

3 respostas
Diego_V_Silva

Bom galera, preciso da ajuda de vocês. Pode ser que o que eu vou colocar aqui já esteja publicado no fórum em algum, o problema é que eu vasculhei tudo e não achei nada.

O meu problema é o seguinte.
Eu tenho um formulário que ao clicar em um botão abre um outro formulário que contem uma JTable, nesta JTable eu realizo pesquisa de algum dado, ao encontrar não estou conseguindo importar o valor da JTable para o formulário que o chamou.

A pergunta é:
Como faço para passar o valor selecionado na JTable para outro formulário?

Desde já agradeço a todos.

3 Respostas

Marky.Vasconcelos

Voce tem que chamar a outra janela e passar isso por parametro.

Poste o código de onde voce chama a JTable e quando voce seleciona.

Diego_V_Silva

Mark_Ameba:
Voce tem que chamar a outra janela e passar isso por parametro.

Poste o código de onde voce chama a JTable e quando voce seleciona.

Este é o código que eu chamo a JTable

private void btnPescCodActionPerformed(java.awt.event.ActionEvent evt) {                                           
        FormPesqUsuario frm = new FormPesqUsuario(null, true);
        frm.setVisible(true);     
    }

Este é o código que eu coloquei no evento da JTable para selecionar o dado que eu quero que seja passado para o outro JFrame.

private void tabelaKeyPressed(java.awt.event.KeyEvent evt) {                                  
                int linha = tabela.getSelectedRow();
                Object cod = tabela.getValueAt(linha,0);
                nome = (String) tabela.getValueAt(linha,1);
                FormUsuario frm = new FormUsuario(null, true); // Aqui eu estou fazendo a instanciação para o JFrame que eu quero que os dados seja passados
                codigo = String.valueOf(cod);
                frm.atualiza(codigo,nome);// Aqui eu estou passando o código e nome selecionado como parâmetro para o JFrame de destino. 
                dispose();
              
    }

Aqui está o meu método “atualiza” onde deveria atualizar de acordo com os dados selecionado na JTable, mas isso não ocorre, ao invés de aparecer os dados aparece como “null”.

public void atualiza(String codigo, String nome) {
        txtCod.setText(""+codigo); // Aparece como "null"
        txtNome.setText(""+nome);
    }
Marky.Vasconcelos
private void tabelaKeyPressed(java.awt.event.KeyEvent evt) {                                  
                int linha = tabela.getSelectedRow();
                Object cod = tabela.getValueAt(linha,0);
                nome = (String) tabela.getValueAt(linha,1);
                System.out.println(cod);//<<
                FormUsuario frm = new FormUsuario(null, true); // Aqui eu estou fazendo a instanciação para o JFrame que eu quero que os dados seja passados
                codigo = String.valueOf(cod);
                frm.atualiza(codigo,nome);// Aqui eu estou passando o código e nome selecionado como parâmetro para o JFrame de destino. 
                dispose();
              
    }

Faça isso e veja no console se o valor é null ou nao.

PS: Não use o DefaultTableModel. Implemente um TableModel seu.

Criado 20 de junho de 2009
Ultima resposta 21 de jun. de 2009
Respostas 3
Participantes 2