Bom estou começando em java e fazendo alguns exemplos me deparei com o seguinte.
Eu quando uso uma tela extendendo Frame quando eu fecho eu coloco um jpanel pra confirmar a saída. Funciona perfeitamente. Agora, quando eu uso uma tela extendendo JFrame, eu faço o mesmo procedimento, no caso usando o jpanel pra confirmar a saida, mesmo que eu clique em nao, o formulário desaparece, mas nao encerra a aplicaçao, isso eu consigo perceber, porque no eclipse, o botão de terminar fica ainda habilitado. segue os dois códigos
////Este é o que funciona perfeitamente
public class Janela2 extends Frame
{
Janela2(String titulo)
{
//super(titulo);
this.setSize(320, 180);
this.setVisible(true);
}
public static void main(String[] arguments)
{
Janela2 janela = new Janela2("Minha segunda janela");
janela.addWindowListener(new Close());
}
}
////Este Fecha a janela mesmo que eu clique em NÃO*********
public class Janela extends JFrame
{
public static void main(String[] arguments)
{
JFrame janela = new JFrame(“Minha primeira Janela”);
janela.addWindowListener(new Close());
janela.setVisible(true);
}
}
////Classe Close*
public class Close extends WindowAdapter {
public void windowClosing(WindowEvent we) {
if (JOptionPane.showConfirmDialog(new LabelFrame(),"Deseja Realmente Sair do Sistema",
"Confirmação",JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION)
{
System.exit(0);
}
else { }
}
}
///*********
Perceba que a única coisa que muda é que um é de awt e o outro Swing