[RESOLVIDO] Como identificar qual frame "chamou" outro

bom dia,
estou precisando de uma ajudinha de vcs.
fiz duas telinhas uma de cadastro e outra de pesquisa de banco, ambas estao funcionando certinho.
meu problema agora, é que eu preciso dessa mesma tela de pesquisa para passar dados para outro frame tambem, sendo que em cada um a acao seria diferente, sendo assim como descubro qual foi o frame que chamou essa pesquisa para eu comparar?
para ser mais especifica é mais ou menos assim.:
fiz uma tela de cadastro de banco e uma pesquisa para esse cadastro. na tela de pesquisa no mouseclicked da jtable ele preenche os dados no cadastro atraves de um construtor. so que agora fiz um cadastro de conta corrente, com uma pesquisa que quando o usuario escolhe o banco ele seta o nome em um campo nesse outro cadastro. como faco para chamar o cadastro de banco quando for na pesquisa do banco e como seto os valores para o textfield do cadastro de conta corrente?
minha pesquisa esta assim.:

private void tabelaBancoMouseClicked(java.awt.event.MouseEvent evt) { 
if (evt.getClickCount() == 2) {
                    // verificar aqui quando for o banco ou a conta corrente
                   // como passar um dado para a conta corrente sem instanciar um novo objeto? so preencher um campo??
                    CadastroBanco banco = new CadastroBanco(this.retornaSelecao());
                    banco.setVisible(true);
                    this.dispose();
}
}

Obrigada!

Olha eu não entendi completamente sua dúvida, mais como identificar um frame que chamou um outro e muito fácil,
simplesmente tu poderia criar um construtor que receba por parâmetro algum dado que você possa identificar os frames,
desse modo ao instanciar o frame já com esse construtor você teria que passar esse dado de identificação, e ao construir
a classe ela receberia no seu construtor essa identificação passada por parâmetro, e dessa forma poderia tratar o que fazer.

exemplo:

public class Um {
    public Um() {
        new Principal("Um");
    }
}
public class Dois {
    public Dois() {
        new Principal("Dois");
    }
}
public class Principal {
    public Principal(String nomeDaClasse) {
        System.out.print("A classe que me chamou foi a "+nomeDaClasse);
    }
}

hummm, entendi… mais como posso fazer para colocar um valor de um campo de outro frame a apartir desse mouseclicked? nao posso instanciar outro objeto pois perderia o que ja foi informado no cadastro. como faco para no mouseclicked fechar o frame, como ja esta sendo feito com o dispose() e apos isso colocar um dado em um textfield do outro frame:
Obrigadaa!

tente usar isto…

antes do seu metodo construtor da classe que voce que voce quer passe a informação

coloque o codigo:

SeuFrame frame = new SeuFrame();

dentro do seu mouseclicked coloque:

frame.ComponentDoOutroFrame.setText("Informação Desejada");

ficou confuso ?
se precisar tenho um exemplo aqui

humm… não consegui resolver… pq fiz o frame no netbeans. acho que é por isso. os textfield estao como private. Estou errada? Existe algo que eu possa fazer?
Obrigadaa

tem sim, no seu frame, clique com o botao direito no componente, e vá em personalizar codigo.

vai abrir uma tela, e no fim da tela vai ter um combobox escrito “private”, mude ele para public e clique em ok…

pronto, seu componente esta como public agora :smiley:

bom dia. nao funcionou. fiz exatamente como vc disse, coloquei os textfield public, realmente consegui usar o settext. so que os valores nao sao preenchidos. agora se eu coloco um setvisible no final aparece normal. nao tem como eu setar sem dar um novo setvisible, pois senao eu perco os outros dados.
nao funciona

CadastroContaCorrente conta = new CadastroContaCorrente();
            conta.txtNumeroBanco.setText("" + this.retornaSelecao());
            conta.txtNomeBanco.setText(this.retornaNomeSelecao().toUpperCase());
            this.dispose();

funciona

CadastroContaCorrente conta = new CadastroContaCorrente();
            conta.txtNumeroBanco.setText("" + this.retornaSelecao());
            conta.txtNomeBanco.setText(this.retornaNomeSelecao().toUpperCase());
            this.dispose();
            conta.setVisible(true);

como resolvo isso, nao posso abrir uma nova tela, preciso apenas que os dados aparecam nesses dois campos sem perder o resto das informacoes informadas.
Obrigadaa!

tbm gostaria de saber como faz isso, já tentei de todas as formas que eu conheco e tbm todas as ajudas que me foram dadas aqui no guj mais nenhuma delas funcionou. so dando setvisible msm. deve ter jeito de fazer isso sim, mais eu nao sei como, e gostaria de saber tbm. se alguem puder postar alguma coisa seria de grande valia.
abracos
vlw

olha, nao sei se vai ajudar, mas vou mandar o projeto que eu fiz, pois tambem tinha duvidas nisso…

segue o projeto !!

muito obrigada yfalbino. seu exemplo funcionou certinho. muito obrigada mesmo… topico resolvido

magina ^^

sempre que precisar poste… :slight_smile: