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.
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.
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
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.
Não sei se é a solução mais elegante mais você pode usar uma variável estática.
abraços
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.
Mto obrigado, problema resolvido!!!
[]s Alexandre.
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.
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 =/
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.
Faz a filha ser observadora da pai.
Observer Pattern - Wikipedia
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.
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.