| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/08/2006 11:40:35
|
drix
JavaBaby
![[Avatar]](/images/avatar/b578f2a52a0229873fefc2a4b06377fa.png)
Membro desde: 16/06/2006 14:42:48
Mensagens: 84
Localização: Maringá - Paraná
Offline
|
Estou montando um sistema desktop com Swing/AWT.
Gostaria de implementar um procedimento, que, ao clicar no botão fechar [X] do meu JFrame principal, o sistema pergunta se realmente é isto que o usuário quer fazer, se confirmar então fecha, caso contrário mantém o JFrame aberto.
Alguém tem alguma sugestão
Consegui capturar o evento WindowEvent.WINDOW_CLOSING, contudo não consigo cancelá-lo!
Estou no caminho certo?
|
JDRIx
=/=/=/=/=/=/=/
Café? Servido? |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/08/2006 11:53:57
|
RicardoLuis
JavaEvangelist
Membro desde: 12/08/2003 14:47:56
Mensagens: 393
Localização: Cuiabá / MT
Offline
|
Seu JFrame pode implementar a interface WindowListener, ai no método windowClosing você coloca a implementação do que você quer que aconteça, no seu caso, criar a janela de confirmação.
Não se esqueça de adicionar ao construtor da sua classe a seguinte chamada:
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/08/2006 12:01:45
|
maquiavelbona
JWizard
![[Avatar]](/images/avatar/24bea84d52e6a1f8025e313c2ffff50a.jpg)
Membro desde: 29/06/2006 09:06:51
Mensagens: 2447
Localização: São Paulo - SP
Offline
|
Bom dia!
O que você pode fazer é o seguinte. Modificar o setDefaultCloseOperation(int) de javax.swing.WindowConstants.EXIT_ON_CLOSE para javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE e depois implementar um WindowListener.
Dê uma olhada na documentação do swing no javadoc e se achar complexo demais, de um toque.
Até!
|
----------------------------------------------------------------
"Within a few years a simple and inexpensive device, readily carried about, will enable one to receive on land or sea the principal news, to hear a speech, a lecture, a song or play of a musical instrument, conveyed from any other region of the globe. "
Nikola Tesla - A means for furthering Peace (1905)
"Gedanken ohne Inhalt sind leer, Anschauungen ohne Begriffe sind blind."
Immanuel Kant - Kritik der reinen Vernunft (1781) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/08/2006 12:10:52
|
maquiavelbona
JWizard
![[Avatar]](/images/avatar/24bea84d52e6a1f8025e313c2ffff50a.jpg)
Membro desde: 29/06/2006 09:06:51
Mensagens: 2447
Localização: São Paulo - SP
Offline
|
[Editado]
Mensagem duplicada, desculpe.
[/Editado]
|
----------------------------------------------------------------
"Within a few years a simple and inexpensive device, readily carried about, will enable one to receive on land or sea the principal news, to hear a speech, a lecture, a song or play of a musical instrument, conveyed from any other region of the globe. "
Nikola Tesla - A means for furthering Peace (1905)
"Gedanken ohne Inhalt sind leer, Anschauungen ohne Begriffe sind blind."
Immanuel Kant - Kritik der reinen Vernunft (1781) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/08/2006 12:10:52
|
drix
JavaBaby
![[Avatar]](/images/avatar/b578f2a52a0229873fefc2a4b06377fa.png)
Membro desde: 16/06/2006 14:42:48
Mensagens: 84
Localização: Maringá - Paraná
Offline
|
Obrigado Ricardo.
Na verdade, meu objetivo é cancelar o evento de Fechar do JFrame.
Eu implementei a seguinte solução, para o problema:
No frame, cancelei a ação do botão fechar:
Capturei o evento WindowClosing, faço a pergunta, e fecho manualmente o sistema.
|
JDRIx
=/=/=/=/=/=/=/
Café? Servido? |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/10/2007 08:44:11
|
maior_abandonado
JWizard
![[Avatar]](/images/avatar/0d7c463832b871c20405a6c9296b5517.jpg)
Membro desde: 03/09/2007 11:30:08
Mensagens: 2694
Localização: sp
Offline
|
pessoal eu to com um problema parecido... eu to querendo o seguinte, um determinado botão na primeira janela abre a segunda, se eu fechar a segunda, quero que feche só a segunda...até ai ok, eu usei JDialog ao inves de JFrame na construção da 2 janela.
a questão é a seguinte, eu tenho um botão no meio da janela (nas 2) que serve pra fecha a janela, ai no actionperformed, no metodo chamado por ele, eu coloquei um system.exit... o problema é que isso fecha as 2 janelas...e eu quero q só feche uma...
o que que eu devo colocar no corpo desse metodo ai pra fecha só a janela do botão que foi clicado? (se for apertado na segunda janela, quero que feche só ela, se for na primera pode até fecha as 2...)
to botando um codigo aki pra ilustra esse exemplo:
janela1
janela 2
This message was edited 2 times. Last update was at 05/10/2007 10:00:24
|
espero ter ajudado...
falando nisso, caso seu problema tenha sido resolvido, edite o seu primeiro post e coloque um [RESOLVIDO] no titulo do tópico.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/10/2007 12:38:02
|
maior_abandonado
JWizard
![[Avatar]](/images/avatar/0d7c463832b871c20405a6c9296b5517.jpg)
Membro desde: 03/09/2007 11:30:08
Mensagens: 2694
Localização: sp
Offline
|
alguem ai pode me ajuda???
|
espero ter ajudado...
falando nisso, caso seu problema tenha sido resolvido, edite o seu primeiro post e coloque um [RESOLVIDO] no titulo do tópico.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/10/2007 13:36:52
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
Não pegue carona no tópico dos outros.
System.exit(0); é para fechar a aplicação.
Se seu interesse é só fechar a janela, use o método dispose();
Se você quer só esconder a janela, para depois usa-la novamente, use setVisible(false);
Ambos os métodos existem na classe JFrame, JDialog e JInternalPane.
This message was edited 1 time. Last update was at 05/10/2007 13:39:03
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/12/2008 16:44:07
|
Carlos_ds_jar
Virtual Machine Man
![[Avatar]](/images/avatar/6289deccda230bf7fe2733a9f943a66e.jpg)
Membro desde: 27/01/2007 15:38:24
Mensagens: 540
Localização: Ceará e Paraíba
Offline
|
ainda bem que achei isso, agradeço a todos!
|
|
|
 |
|
|