Botão X fechar

Java

09/04/2009

pessoal tenho uma aplicação em swing, eu queria quando o usuário clicar no X na janela em cima não fecha-se a aplicação queria primeiro que fosse pedido uma janela com confirmação alguem sabe como fazer isso? valeu !!!
Rodrigo Scorsatto

Rodrigo Scorsatto

Curtidas 0

Respostas

Aparecido Junior

Aparecido Junior

09/04/2009

Primeiro defina o
setDefaultCloseOperation(JFrame.DO_NOTHING)
Depois implemente na sua tela a interface [b]WindowListener[/b], após isso é só implementar o método:
public void windowClosing(WindowEvent e) {
}
dentro desse método você faz os seus testes. E para fechar o programa, chame o [b]System.exit(0)[/b]
GOSTEI 0
Rodrigo Scorsatto

Rodrigo Scorsatto

09/04/2009

[quote="ratman_jr"]Primeiro defina o
setDefaultCloseOperation(JFrame.DO_NOTHING)
Depois implemente na sua tela a interface [b]WindowListener[/b], após isso é só implementar o método:
public void windowClosing(WindowEvent e) {
}
dentro desse método você faz os seus testes. E para fechar o programa, chame o [b]System.exit(0)[/b]
BLZ !!! valew !!!
GOSTEI 0
Tiago Viana

Tiago Viana

09/04/2009

To postando um exemplo simples
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class Fechando
{
	public static void main (String s[])
	{
		JFrame janela = new JFrame ();
		
		//Desabilita o botao 'X'
		janela.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
		
		//Adaptador para o fechamento da janela, matando o processo
		janela.addWindowListener(new WindowAdapter()
		{
			public void windowClosing (WindowEvent e)
			{
				//caixa de dialogo retorna um inteiro
				int resposta = JOptionPane.showConfirmDialog(null,"Deseja finalizar essa operação?","Finalizar",JOptionPane.YES_NO_OPTION);
				
				//sim = 0, nao = 1
				if (resposta == 0)
 				{
					System.exit(0);
				}
				
			}
		});

		//Tamanho e visibilidade do container
		janela.setSize(800,600);
		janela.setVisible (true);
	}	
	
}
GOSTEI 0
Tiago Viana

Tiago Viana

09/04/2009

[quote=" Tiago "]To postando um exemplo simples
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class Fechando
{
	public static void main (String s[])
	{
		JFrame janela = new JFrame ();
		
		//Desabilita o botao 'X'
		janela.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
		
		//Adaptador para o fechamento da janela, matando o processo
		janela.addWindowListener(new WindowAdapter()
		{
			public void windowClosing (WindowEvent e)
			{
				//caixa de dialogo retorna um inteiro
				int resposta = JOptionPane.showConfirmDialog(null,"Deseja finalizar essa operação?","Finalizar",JOptionPane.YES_NO_OPTION);
				
				//sim = 0, nao = 1
				if (resposta == 0)
 				{
					System.exit(0);
				}
				
			}
		});

		//Tamanho e visibilidade do container
		janela.setSize(800,600);
		janela.setVisible (true);
	}	
	
}
Tiago valeu !!! teu código foi bastante util !! abraços
GOSTEI 0
POSTAR