| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/01/2007 22:28:48
|
gabriel.coelho
JavaBaby
![[Avatar]](/images/avatar/575dc1140c7f125454530f5541b003e1.jpg)
Membro desde: 17/10/2006 12:11:33
Mensagens: 81
Localização: São Bernardo do Campo
Offline
|
Por favor, estou com duvida nesta linha de comando, queria saber qual a utilidade dessa linha!!!
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
aqui segue o bloco completa em que essa linha pertence:
JFrame frame = new ImageViewerFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
Valeu....
|
E DEUS DISSE A NOÉ:
FAÇA O BACKUP QUE EU VOU FORMATAR!!!!!
Gabriel Coelho
E-mail: gabrielcpcoelho@gmail.com
Msn: gringo.roots@hotmail.com / g.coelho@merodata.com.br
São Bernardo do Campo - SP |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/01/2007 00:28:41
|
Sombriks
Java Ninja
![[Avatar]](/images/avatar/65b0df23fd2d449ae1e4b2d27151d73b.jpg)
Membro desde: 14/04/2005 16:36:03
Mensagens: 250
Localização: Fortaleza, CE
Offline
|
vc está informando a operação padrão de "fechamento".
é o que deve ser feito quando o usuário apertar o "X" da janela.
sem essa linha a janela fecha mas o programa não termina.
|
Linux user #391803.
http://counter.li.org/
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/01/2007 03:39:03
|
brothermclaud
JavaBaby
![[Avatar]](/images/avatar/f880d0d6a01ba52fcfe6475defc13e0f.jpg)
Membro desde: 13/08/2005 00:43:14
Mensagens: 86
Offline
|
Só para complementar o que o Sombriks disse, essa opção do JFrame instrui o Garbage Colector do JDK para apagar da memória as variáveis criadas durante o runtime. Se isso não for feito, cada vez que você roda o programa, como bem disse o Sombriks, será ocupado mais e mais espaço da memória.
|
"Quem, de três milênios, não é capaz de se dar conta, vive na ignorância, na sombra, a mercê dos dias, do tempo". Johann Wolfgang von Goethe |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/01/2007 10:21:13
|
davidbuzatto
Moderador
![[Avatar]](/images/avatar/7ba6d33c373fea56b7258003b16c68e5.jpg)
Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline
|
brothermclaud wrote:Só para complementar o que o Sombriks disse, essa opção do JFrame instrui o Garbage Colector do JDK para apagar da memória as variáveis criadas durante o runtime. Se isso não for feito, cada vez que você roda o programa, como bem disse o Sombriks, será ocupado mais e mais espaço da memória.
brother, usar o método setDefultCloseOperation(JFrame.EXIT_ON_CLOSE); não tem nada haver com o coletor de lixo. Esse método como o sobrinks disse é um método de conveniência para que não seja necessário registrar um listener para ouvir o evento de fechamento da janela em questão e ao ser ouvido chamar um System.exit(0).
Não tem como vc invocar a execução do coletor de lixo diretamente e ter certeza que este será executado.
Para "sugerir" à máquina virtual que ela execute o coletor de lixo pode-se usar System.gc(), mas como falei não há nenhuma garantia que ele seja executado.
O coletor de lixo é automático, a jvm o executa quando necessário. É claro que quando o usuário fechar a janela e finalizar o programa todo o processo será discartado, levando consigo todos os objetos criados. O coletor de lixo é executado quando finaliza-se algum método, etc, não tem como ter um controle preciso sobre o mesmo. Só é possível sugerir sua execuçã, nada mais.
Se não for usado o setDefultCloseOperation(JFrame.EXIT_ON_CLOSE) o frame ficará invisível, mas o processo como um todo aind estará ativo, e o coletor de lixo não será executado a não ser que haja necessidade, creio que nem mesmo o JFrame será discartado, pois sua execução ainda não foi terminada.
Falow!
|
Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."
http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/01/2007 10:26:41
|
thokk
Virtual Machine Man
![[Avatar]](/images/avatar/1a3d6a5affbc4a3a84214366730c4a80.jpg)
Membro desde: 18/10/2006 17:04:08
Mensagens: 521
Offline
|
vc está informando a operação padrão de "fechamento".
é o que deve ser feito quando o usuário apertar o "X" da janela.
sem essa linha a janela fecha mas o programa não termina.
Ele esta certo vc esta fazendo a operação X para fechar, ou melhor quando vc abre um aplicativo e contem aquele X, é ele que vc esta gerando.
Falow Paulo
|
Na vida temos um dia único e feliz. Este dia foi quando conheci minha esposa!!!! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/01/2007 12:33:54
|
rissato
JavaEvangelist
![[Avatar]](/images/avatar/e355ad06c5a89f911fbb0aff2de52435.jpg)
Membro desde: 16/05/2006 22:07:12
Mensagens: 446
Localização: Uberlândia
Offline
|
se vc nao colocar essa linha, a JVM não termina. Faz um teste pra vc entender: Abra e feche seu programa 3 vezes sem essa linha. Aí depois da uma olhada (no Gerenciador de tarefas) nos processos abertos. Vc vai ver 3 instancias do java rodando.
|
Quer vc pense que é capaz ou não, vc está certo!
Sun Certified Java Programmer 6.0 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/01/2007 13:01:45
|
thokk
Virtual Machine Man
![[Avatar]](/images/avatar/1a3d6a5affbc4a3a84214366730c4a80.jpg)
Membro desde: 18/10/2006 17:04:08
Mensagens: 521
Offline
|
Botão fechar que vc esta gerando.
|
Na vida temos um dia único e feliz. Este dia foi quando conheci minha esposa!!!! |
|
|
 |
|
|