Impedir fechamento da janela e tradução de botões

4 respostas
L

como que faço para impedir que o usário feche uma janela quando clicar no botão fechar?
Isso é feito no método windowClosing (WindowEvent evento) ?

Outra dúvida é sobre o post que tem no Java Avaçado sobre traduzir botões do JOptionPane, eu tentei e não consegui, alguém poderia passar um exemplo que funcione?
Desculpem por não continuar o post no outro fórum mas eu não consigo abrir a página dele.

Obrigado

4 Respostas

R

cara…

p/ q a janela nao feche qdo clicar no X, vc precisa re-definir a operacao padrao qdo ocorrer o metodo windowClosing…

acho q vc precisa usar o metodo setDefaultOperation()…
nao tenho certeza, mas de uma olhada na API do JFrame…

amanha posto o codigo correto qdo olhar meus fontes…

L

Obrigado

Leandro

Pra fechar um JFrame, acredito que tenham duas maneiras mais usadas:

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Que define o método “Operação de Fechamento Padrão”, dizendo que a aplicação deve ser finalizada (EXIT) quando for fechada (CLOSE).
Você ainda pode passar para este método:
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE

A outra também muito usada é uma InnerClass com um WindowAdapter:

addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
				System.exit(0);
			}
		});

No evento de fechamento de tela, ele executa “System.exit(0);”, que fecha a aplicação passando retorno 0 (tudo OK).

Se você retirar esses códigos de sua aplicação ela não finalizará, se a sua intenção for esta, você pode então implementar um botão de “SAIR” e colocar o System.exit(0); no evento dele.

A parte do JOptionPane, sugiro você olhar na documentação pra se informar melhor sobre todas as opções, mas tá aí um código que funciona:

Object opcoes[] = { "OK", "Cancelar", "Ajuda" };

				JOptionPane.showOptionDialog(null, "Clique OK para continuar.", "Mensagem Teste", 
					JOptionPane.DEFAULT_OPTION, JOptionPane.QUESTION_MESSAGE, null, opcoes, opcoes[0]);
richardpeder

LeandroSP:

O que nosso amigo postou referente a tradução é praticamente o mesmo que eu coloquei no outro tópico…eu personalizei a caixa de mensagem para uma determinada aplicação, no caso, vc pode passar o titulo da caixa, o tipo e tal…na verdade o YES_NO OPTION é a unica coisa que não tinha certeza se estava certo, mas do resto funciona, pois um sistema que eu fiz utilizei o vetor e tal e deu certo, ok??? :lol:

Ate mais…

Criado 19 de janeiro de 2003
Ultima resposta 20 de jan. de 2003
Respostas 4
Participantes 4