Obtendo dados de uma classe ja instanciada

11 respostas
aleotavares

Boa noite pessoal, tenho 2 janelas, uma chamando a outra, na janela principal, eu insiro um certo dado num vetor, e preciso obter os dados desse vetor na janela aberta através da primeira, como posso fazer isso???

Desde já agradeço.

11 Respostas

SmartCardMan

Antes de tudo… vc está falando de janelas swing ou de janelas de navegador de uma aplicação web? explica melhor para podermos ajudar!

Abraço

aleotavares

Desculpe a falta de informações, estou usando janelas swing, preciso acessar dados de um vetor localizado na janela “pai” atraves da janela aberta por ela, “filha”.

Obrigado.

falvesti

Não sei se é a solução mais elegante mais você pode usar uma variável estática.

abraços

SmartCardMan

porque vc nao tenta passar a instancia da janela pai no construtor da filha?
ai vc conseguiria acessar o vetor…ta certo que nao eh a melhor nem mais bonita solução…mas funciona.

aleotavares

Mto obrigado, problema resolvido!!!

[]s Alexandre.

aleotavares

Obrigado, as duas soluções funcionaram para o meu problema, vou testar as duas e ver qual se encaixa melhor no meu caso aqui.

[]s Alexandre.

Marky.Vasconcelos

Ou ainda em ultimo caso você teria reflection mas precisaria de um objeto instanciado da classe que quer pegar os dados.

Depois de postar e reler algumas vezes vi que não é amelhor opção se já está instanciado é só acessar a variavel =/

J

Eu sou favorável a abordagem que falaram aí em cima do pai passar uma referência de si próprio ao filho, mas o problema dessa abordagem é que vc acaba amarrando demais as duas telas. E tem que ver também se a tela filha irá alterar o vetor da tela pai …

Uma abordagem alternativa é vc criar um objeto que será compartilhado entre duas ou mais telas. Assim duas telas interagem com o objeto para trocar dados. O construtor de cada tela pode receber esse objeto, assim quando a tela pai cria a tela filha ela passa o objeto. Fica até mais fácil testar as telas isoladamente, pois a única dependência é o objeto de dados.

Adolfo_Rodrigues

Faz a filha ser observadora da pai.
Observer Pattern - Wikipedia

Marck

jdefarge:
Eu sou favorável a abordagem que falaram aí em cima do pai passar uma referência de si próprio ao filho, mas o problema dessa abordagem é que vc acaba amarrando demais as duas telas. E tem que ver também se a tela filha irá alterar o vetor da tela pai …

Uma abordagem alternativa é vc criar um objeto que será compartilhado entre duas ou mais telas. Assim duas telas interagem com o objeto para trocar dados. O construtor de cada tela pode receber esse objeto, assim quando a tela pai cria a tela filha ela passa o objeto. Fica até mais fácil testar as telas isoladamente, pois a única dependência é o objeto de dados.

Concotdo com vc cara…tbm não gosto mto de ficar amarrando as telas…prefiro colocar um objeto por trás dela…
Se sua tela é um cad. de cliente, acho melhor criar um objeto cliente e passar este cara como parametro.

aleotavares

no meu caso eu tenho um vetor na janela pai que preciso acessa-lá atraves da janela filha, e foi mais conveniente passar a referencia do meu vetor no construtor da filha, pois a classe filha além de acessa-lo tbm o altera.

Obrigao pela ajuda pessoal.

[]s Alexandre.

Criado 3 de janeiro de 2008
Ultima resposta 5 de jan. de 2008
Respostas 11
Participantes 7