Maneira de esperar JInternalFrame ficar visivel para executar comandos

3 respostas
cardosodario

Tenho a situação de usar o evento Opened num JInternalFrame para executar alguns comandos

No caso eu quero executar um doClick() de um botão quando a janela se abre só que deparei com um problema dele executar o doClick antes desta janela estar formada na tela, gostaria de que o usuario consegui-se ver a tela primeiro e depois executar o doClick()

Ja tentei ficar vendo o isVisible para ver se ele fica true mas não consegui

Alguém tem alguam ideia?

Dario

3 Respostas

TiD

Por que voce nao transfere esse codigo do OnClick pra dentro da classe que lida com o JInternalFrame? Dessa forma não tem erro, o código fica mais coeso e mais orientado a objeto.

Por exemplo: o OnClick abre o JinternalFrame e dai por diante o proprio internalframe é responsavel por si… entendeu ?

Se eu entendi errado o que voce quer, me explica melhor por favor!

Abraço

cardosodario

o codigo ta dentro do InternalFrame

eu notei que ao executar comanos no Opened ele ainda não apresentou a janela na tela

então eu gostaria que a janela aparece primeiro para o usuario para depois disto executar os comandos

tentei fazer um

while (!this.isVisible)

mas nao rodou

TiD

Ocorre um certo delay entre a carga de um Container Swing e seus componentes… talvez seja isso que esteja acontecendo com voce: o isVisible ja esta retornando true mas a renderizacao na tela ainda esta acontecendo, tipo uns 2 segundos… nao é isso ?

Realmente é complicado… talvez voce tenha que ver de carregar os componentes do internalframe e o proprio internalframe em memoria (instanciar) já com uma certa antecedencia… pq ai quando o cara clicar no botao eles serao exibidos mais rapidamente (ja que ja estaram em memoria, nao vai perder tempo instanciando todos).

Abraço!

Criado 3 de agosto de 2009
Ultima resposta 3 de ago. de 2009
Respostas 3
Participantes 2