Janelas abertas - Identifica-las através de recursos do java

4 respostas
D

Boa tarde,

Procurei bastante e não encontrei, alguém sabe se tem alguma forma de eu saber as janelas da minha aplicação que estao abertas mas sem eu precisar guarda-las numa lista ou coisas desse tipo?

Alguma função pronta do Java ou sei la…

Att.

:wink:

4 Respostas

JonaTHANNM

se tem algum método eu não sei, mas o que eu faço é criar por exemplo uma variável e quando a janela for aberta o status dela muda, depois quando ele for abrir de novo, ou fazer uma pesquisa destas variáveis ele vai te mostrar quais estão abertas e quais não estão.

D

Opa obrigado por responder!

Então cara se fizer desse jeito vai ser como usar o metodo isVisible(), eu teria que percorrer as telas verificando quais estão com o status alterado!

Eu queria saber se tem algum jeito de receber da aplicação por exemplo um Array com as janelas abertas! :wink:

Outra coisa que to precisando também é saber se tem como eu dentro de um JFrame ou JDialog pegar todos os eventos deles automaticamente sem coloca-los em lista, variaveis e etc…

JonaTHANNM

dae eu não sei se vou conseguir te ajudar…
o que eu fiz pra quebra o galho e funcionou foi que nem eu te falei antes com as variáveis…

WellingtonRamos

Ao instanciar as janelas, adicione-as a uma lista (esta lista deve ser estática, ou contida dentro de um singleton e nececssita ser visível pela aplicação de alguma forma).

Sobrescreva o dispose das janelas, removendo as mesmas da lista. (as janelas devem estar com o comportamento do setDefaultCloseOperation configurados com DISPOSE_ON_CLOSE ou algo assim).

Sempre que precisar saber se das janelas abertas, é só varrer essa lista.

Se você prefirir, pode criar uma classe nova que herde JFrame (ou a classe que esteja utilizando) e na mesma, reimplemente os construtores (não esquecendo de referenciar super) e no construtor a classe adiciona-se à lista. Na mesma classe, sobrescreva o dispose (também não esquecendo da referência a super) onde a mesma se remova da mesma lista.

Criado 26 de maio de 2011
Ultima resposta 27 de mai. de 2011
Respostas 4
Participantes 3