Galera, já procurei aqui no forum mas não encontrei nada que me ajudasse, preciso “pegar” a instância de uma classe que eu sei que já está sendo executada a partir de outra classe e executar um método existente nela, como posso fazer isso?
Possuo uma classe que, em um determinado momento, abre um JInternalFrame, quando eu executar um determinado método no frame, quero que ele execute um método da classe que chamou o frame. Entendeu???
rmendes08
Bambatera:
Não, não é um singleton!!!
Possuo uma classe que, em um determinado momento, abre um JInternalFrame, quando eu executar um determinado método no frame, quero que ele execute um método da classe que chamou o frame. Entendeu???
Ora, não tem outro jeito de obter instâncias a não ser através de uma referência. Se o seu JInternalFrame precisa executar um método do objeto que o criou, você deve fornecer uma referência ao objeto que cria o frame para ele.
douglaskd
e se você enviar a referência no construtor do JInternalFrame.
e setar uma Variavel do tipo da classe ?
SuaJinternalFrame(TipoDaClasse classe){
TipoDaClasse = classe
}
não programo em Desktop, mas penso que talves funcione…
estou tentando ajudar…
D
diegosammet
douglaskd:
e se você enviar a referência no construtor do JInternalFrame.
e setar uma Variavel do tipo da classe ?
SuaJinternalFrame(TipoDaClasse classe){
TipoDaClasse = classe
}
não programo em Desktop, mas penso que talves funcione…
estou tentando ajudar…
Alem de funcionar, é o comportamento padrão.
douglaskd
diegosammet:
douglaskd:
e se você enviar a referência no construtor do JInternalFrame.
e setar uma Variavel do tipo da classe ?
SuaJinternalFrame(TipoDaClasse classe){
TipoDaClasse = classe
}
não programo em Desktop, mas penso que talves funcione…
estou tentando ajudar…
Alem de funcionar, é o comportamento padrão.
esse construtor é padrão de um jinternal ? ou esse comportamento é a maneira certa de se fazer isso? fiquei em dúvida to sem java aqui
Bambatera
Valeu galera, segui a orientação de vocês e criei uma referência no construtor do frame.
Depois foi só usar REFLECT e resolvi o problema.