Passar valor entre JFrames

1 resposta
Lord_Java

Bom galera, é a minha primeira postagem, e sou iniciante em JAVA.
O meu problema é o seguinte: Tenho uma JFrame com o nome Cadastrar_cheque, nessa cadastra cheque tenho várias JTextField uma delas é FieldCliente onde vai ser peenchido com o nome do cliente, sendo que para preencher essa JTextField eu preciso buscar o nome do cliente em outra tela, para isso clico no botão cliente então abre uma nova JFrame para que eu possa buscar o cliente desejado, faço a consulta e escolho o cliente desejado em uma tabela, quando eu clico no cliente desejado o JFrame de busca é fechado (e aí está o problema) não consigo settar o valor no JTextField.
Desde já agradeço a ajuda

Abaixo o código... 
//tela Cadastrar_cheque  
public void puxa_cliente(String codigo){  
      FieldCliente.setText(codigo);  //lembrando que se eu pedir pra imprimir a string codigo no console, ela consegue imprimir o valor
}  
  
//tela Buscar_cliente  
Tabela.addMouseListener(new java.awt.event.MouseAdapter() {  
            public void mouseClicked(java.awt.event.MouseEvent e) {  
               int linha = Tabela.getSelectedRow();  
               String codigo = (String)Tabela.getValueAt(linha, 0);  
               CadastrarCheque tela = new CadastrarCheque();  
               tela.puxa_cliente(codigo);  
               dispose();  
            }  
         });

1 Resposta

julianofischer

Você tem várias opções:

1 - Ao clicar no cliente, chamar um método público no JFrame onde o cliente deve ser setado.

setNome(clienteSelecionado.getNome());

2 - Armazenar o objeto cliente e criar o método de acesso para que o JFrame onde o cliente deve ser setado possa acessá-lo.

JFrame 1: private Cliente cliente;

cliente = clienteSelecionado();

public Cliente getCliente(); //retorna o cliente selecionado

JFrame 2:

após o JFrame1 ser fechado: Cliente c = jframe1.getCliente();

jTxtFld.setText(c.getNome());
Criado 5 de julho de 2010
Ultima resposta 6 de jul. de 2010
Respostas 1
Participantes 2