Cancelar um eventos Listener

4 respostas
P

Brothers estou tendo problemas no tratamento de eventos, eu criei uma classe que estende da JFrame e eu quero tratar o evento WindowClosing para mostrar uma mensagem perguntando se a pessoa deseja fechar o programa, se Sim o programa sera finalizado com um System.exit(0) se não eu desejo sair do metodo retornando a janela da aplicação, para isso eu subscrevi o método windowClosing da classe WindowAdapter, mas não deu serto, quando respondo não, só a aplicação continua rodando mas a janela é fechada, e o que eu quero é sair do metodo deixando a janela visivel. Vou postar o codigo ai pra vocês me ajudar.

public void windowClosing(WindowEvent e) {
			Object opcoes[] = { "Sim", "Não" };
			int resposta = JOptionPane.showOptionDialog(getContentPane(),
					"Deseja fechar o programa?", "Fechar",
					JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE,
					null, opcoes, opcoes[0]);
			if(resposta == JOptionPane.YES_OPTION)
				System.exit(0);
			else
				return;
}

[RESOLVIDO] Veleu pessoal, agradeço a todos! [/RESOLVIDO]

4 Respostas

lina

Oi,

Você tem que usar no else a opção: JFrame.DO_NOTHING_ON_CLOSE

Tchauzin!

ViniGodoy

Para usar o que a lina disse, ponha no construtor do seu JFrame:

Se estiver usando o Netbeans, provavelmente a opção “DefaultCloseOperation” estará nas propriedades do seu JFrame.

PS: Para que aquele else return ali?

P

lina:
Oi,

Você tem que usar no else a opção: JFrame.DO_NOTHING_ON_CLOSE

Tchauzin!

Não Está dando certo, tenho que chamar algum metodo passando JFrame.DO_NOTHING_ON_CLOSE como parametro? posta ai um exemplo pra mim, por favor!

lina

ViniGodoy:
Para usar o que a lina disse, ponha no construtor do seu JFrame:

Se estiver usando o Netbeans, provavelmente a opção “DefaultCloseOperation” estará nas propriedades do seu JFrame.

PS: Para que aquele else return ali?

Up!

Criado 29 de março de 2010
Ultima resposta 29 de mar. de 2010
Respostas 4
Participantes 3