[RESOLVIDO]pegar dados

blz galera, desde já desculpa a ignorância e obrigado pela ajuda!

Eu tenho um frame (frame1) aonde preciso informar o código do meu cliente, certo ?

mas o problema é que o usuário não sabe o código do cliente e precisa pesquisar o código do cliente, então o usuário chama um outro frame(frame2) com todos os clientes listados em um Jtable.

dentro do jtable, no evento keypressed vai armazenar os dados do cliente(codigo e nome) em uma variavel publica que esta dentro do frame1.

Ao pressionar enter no cliente escolhido eu fiz a programação para que armazene os dados do cliente no frame 1 na variavel publica e depois feche o frame 2 (frame de pesquisa)

até aqui blz, o problema é que ao fechar o frame 2 eu preciso que as informações salvas no frame1 nas variaveis publicas precisar ser jogadas no campos ‘codigo do cliente’ e ‘nome do cliente’…dados que foram armazenados atravez do jtable no frame 2.

Alguem pode me ajudar? bem novato em java!

se caso existir alguma outra forma , podem postar tb!

obrigado galera

Vou tentar ajudar.
Da pra voce passar o frame1 via parâmetro no frame2 ex:

Frame1 frame1 = new Frame1(); 
Frame2 frame2 = new Frame2(frame1);

Construtor do Frame2

Public Class Frame2 extends JDialog{
  Frame window
  public Frame2(Frame window){
     this.window = window;
  }
  private void fechar(){
    windows.setDados();
    this.dispose;
  }
}

Tentei ser simples.
obs: Não compilei o código. Provavelmente tenha erros. verifique se esta tudo certo;

desculpa ae amigo, se puder explicar melhor agradeço…

tentando aqui pra caramba mas não consigo…

vlw…

flw

Alguem me ajuda ,por favor?

Pelo q entendi vc está inserindo os dados diretamente na variável do frame1 correto? Não faça isso, deixe a variável como private e adicione os métodos get e set conforme sua necessidade e insira os valores das variáveis através destes métodos, no seu caso vc pode atualizar os campos dentro do set da variável, segue exemplo:

// Variável
private Cliente cliente;

// Método para inserir um cliente
public void setCliente (Cliente cliente) {
    this.cliente = cliente;
    this.atualizarCamposCliente();
}

// Método para atualizar o cliente na tela
private void atualizarCamposCliente(); {
    editCodigoCliente.setText(this.cliente.getCodigo());
    editNomeCliente.setText(this.cliente.getNome());
}

Procure sobre o padrão Observer, embora ele traga um nível de complexidade que seria desnecessário, vai te ajudar a corrigir a bagunça que está fazendo.

desculpa galera mas não to conseguindo, ja fiz um monte de coisa aqui e nao da certo…

frame 1(onde tenho q alterar o campo codigo) eu coloco isso la no final do frame:

public void metodopai(String txt){ txtcodcliente.setText(txt); }

frame 2(aonde eu vou pegar as informações pra jogar no frame 1)fiz o seguinte:

[code]private frame1 venda;

public frame2(frame1 pPapai) {
venda = pPapai;
}[/code]

ao fechar o frame 2, eu executo o metodo:

           venda.metodopai("1");//jogo oq ele deve setar dentro dos parenteses, mas nada acontece.

[quote=luiswellington]desculpa galera mas não to conseguindo, ja fiz um monte de coisa aqui e nao da certo…

frame 1(onde tenho q alterar o campo codigo) eu coloco isso la no final do frame:

public void metodopai(String txt){ txtcodcliente.setText(txt); }

frame 2(aonde eu vou pegar as informações pra jogar no frame 1)fiz o seguinte:

[code]private frame1 venda;

public frame2(frame1 pPapai) {
venda = pPapai;
}[/code]

ao fechar o frame 2, eu executo o metodo:

venda.metodopai("1");//jogo oq ele deve setar dentro dos parenteses, mas nada acontece. [/quote]
A primeira coisa que você precisa entender é que objetos se comunicam por mensagens.
A segunda coisa é que as mensagens estão ligadas aos métodos que os objetos possuem. Eles podem enviar ou receber estas mensagens.
A terceira coisa é que você precisa ter um método que faça o que você quer no frame1.
A quarta coisa é que você precisa, quando estiver ‘fechando’ ou ‘escondendo’ o frame2, enviar a mensagem ao frame1 para que ele execute o método que irá fazer o que você quer.

o metodopai seria oq eu quero fazer , setar um texto no campo codigo do cliente…

mas como eu faria a quarta coisa que vc postou, mandar uma mensagem para o frame 1, como ele verificaria essa mensagem sendo q ele não faz nada quando eu fecho o frame 2…ou seja como eu faria um if para ele verificar essa msg enviado do frame 2…?

desculpa a ignorancia amigo…mas muito obrigado pela sua ajuda …

Não camarada, não desculpo.
Você passou o objeto frame1 para o frame2?
Se sim, você pode chamar qualquer método público do frame1 no frame2.
Como você não consegue fazer isso?

sim eu estou chamando o metodo antes de fechar o frame 2…mas ele nao faz nada no frame 1 …esse o problema, eu fazer executar o metodo dentro do frame 1 e no no frame 2.

calma amigo, eu fiz muita coisa aqui com ajuda da internet por isso estou meio perdido.

fiz oq vc falou :

private Venda_serviços venda;

public Clientes(Venda_serviços pPapai) {
    venda = pPapai;
}

//depois antes de fechar o frame clientes, eu chamo o metodopai que esta dentro do frame venda_serviços onde devo alterar o campo codigo do cliente

venda.metodopai("1");

//esse é o metodopai que esta dentro do frame1:
   
        public void metodopai(String txt){
              txtcodcliente.setText(txt);
    
        }

galera consegui graças a esse video:

obrigado a todos que ajudaram…