Dados de JFrame para outro JFrame

4 respostas
B

Olá pessoal!

O que eu to tentando fazer é o seguinte:
Tenho um jFrame aberto, uso um jButton abro outro jFrame (que poderia ser um JDialog, qté mais interessante por poder ser modal), e nesse JFrame faço uma consulta jogo os dados num jTable (ATÉ AQUI TUDO TRANQUILO), quero clicar num jButton e enviar o que eu selecionei na table e colocar direto num jTextField da primeira janela. Eu até consegui mandar a que eu selecionei (na table) para uma variável, que criei para teste na 1ª janela, mas não consegui colocar no jTextField.
Me desculpe se eu não fui muito claro, mas qualquer dúvida da minha dúvida pode perguntar (uahuhauha)

desde já obrigado

By berto

4 Respostas

V
Se vc usar JDialog vc pode colocar o codigo de preenchimento do jtextfield a baixo da linha q chama o jdialog, qndo vc fechar o jdialog ele pega a variavel que vc setou e coloca no jtextfield.

Ex.:

new MyJDialog(this, true).setVisible(true);

myJTextField.setText(minhaVariavel);

ou vc pode declarar seu jTextField como public e acessar diretamente do jdialog, assim vc nao precisa setar nenhuma variavel no JFrame principal.

dreampeppers99

berto_man:
Olá pessoal!

O que eu to tentando fazer é o seguinte:
Tenho um jFrame aberto, uso um jButton abro outro jFrame (que poderia ser um JDialog, qté mais interessante por poder ser modal), e nesse JFrame faço uma consulta jogo os dados num jTable (ATÉ AQUI TUDO TRANQUILO), quero clicar num jButton e enviar o que eu selecionei na table e colocar direto num jTextField da primeira janela. Eu até consegui mandar a que eu selecionei (na table) para uma variável, que criei para teste na 1ª janela, mas não consegui colocar no jTextField.
Me desculpe se eu não fui muito claro, mas qualquer dúvida da minha dúvida pode perguntar (uahuhauha)

desde já obrigado

By berto

Tem duas (que conheço) abordagens para solução deste problema:

1 - Passar no construtor esse valor. Criar um outro construtor no outro form.
2 - Criar um atributo estatico na form que chamou a consulta e da consulta fazer formMain.setAtributo(formConsulta.grid.get(1))

PadrE

Como disse o dreampeppers99 …

Vc pode ter um novo construtor para o segundo JFrame, onde vc passa a referência do objeto a ser preenchido:

Form2 f2 = new Form2(tabela);

Ou passar a referência do primeiro form com algum métodos public que preenche a tabela…

Form2 f2 = new Form2(this);

Sacou ?

B

pessoal valeu pelas dicas!! Entendi a maioria delas…

Tentei fazer uma coisa que eu acho que se encaixa numa das dicas do dreampeppers99…

na primeira janela crie o seguinte código:

...
public void setTextField(String codigo) {
        this.jTextField1.setText(codigo);
    }   
...

e na segunda janela fiz uma botão que pega os dados de um JTextField e tento passar para o metodo da primeira
(aquele acima)…

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed

        String teste123 = jTextField1.getText();
        JOptionPane.showMessageDialog(this,"Você digitou: " + teste123 );
        CadastroCliente cadCli = new CadastroCliente();
        cadCli.setCodigo(teste123);
        cadCli.setTextField(teste123);
        this.setVisible(false);    
    }

Deem uma olhada, acho que fiz alguma coisa errada… um indicio é de que não funcionou uahhauauhhah…

Obs: eu testei esse método da primeira janela, nela mesmo e funcionou (se ajudar).

Criado 17 de outubro de 2007
Ultima resposta 18 de out. de 2007
Respostas 4
Participantes 4