Comportamento JDialog

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…

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.

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.

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…

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.