Comportamento JDialog

4 respostas
H

Tava mexendo com JDialog e notei um negocio meio estranho, ou estranho pelo menos p mim.

Tipo, qnd dou o comando “this.dipose()” numa JDialog, ela nao sai de execucao do pc (fica la o java.exe ainda), agora qnd se aperta no “X” p fechar, ai ela sai de execucao (o java.exe finaliza). Ja numa JFrame tanto por um lado, qto pelo outro, ela fecha e sai de execucao.

Esse negocio de JDialog nao sair de execucao (ficando apenas hiding) c/ “this.dispose()” eh normal? Tem algum outro comando q tira ela de execucao, sem ser pelo “X”? To pensando em n usar “this.dipose()” por causa disso. Grato…

4 Respostas

andretco

olá,
não sei se te ajudo em algo, mas, eu estou usando um JDialog com um JFrame…cuando se aperta um botão no JDialog ele chama this.dispose() e se fecha mas o JFrame segue aberto.

Até logo.

H

aqui tb esta assim, mas queria saber se o this.dispose() libera ou nao a memoria do JDialog, pelos testes q fiz so c JDialog, this.dipose nao fechou o programa completamente (o processo java.exe continuou la e nao foi fechado) dieferente do q ocorre c JFrame.

acho q o dispose() chamado por JDialog naolibera memoria dele (e isso nao acho interessante), pelo menos pelos testes q fiz aqui (ate me espantei c isso), entao vo forcar apertar o “X”, ai sim, esse ta finalizando td (inclusive o processo java.exe).

talvez seja um duvida besta, mas eh interessante saber, se uma aplicacao envolver varios JDialogs e se os dispose() nao liberarem a memoria, isso pode provocar consumo excessivo.

H

engracado junto c JFrame ele sai blz e ainda libera memoria, mas so uma JDialog, usando o msm “dispose()”, o processo java.exe ainda fica rodando, q viagem…

so se for bug aqui, mas axo q n…coisas do alem…

ViniGodoy

O dispose não finaliza a thread do Swing. Essa thread é segurada pela fila de eventos.
Se você quer sair da aplicação, dê o comando System.exit(0);

Sua janela fecha a aplicação ao fechar pq o defaultClosingOperation dela deve estar configurado para EXIT_ON_CLOSE e não DISPOSE_ON_CLOSE.

Criado 24 de janeiro de 2008
Ultima resposta 25 de jan. de 2008
Respostas 4
Participantes 3