Fechar jframe

olá pessoal
tenho o seguinte jframe

  JFrameMontaGradeProgramacao.setSize(300, 240);
  JFrameMontaGradeProgramacao.setTitle("Grade de Programação Diária");
  JFrameMontaGradeProgramacao.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
  JFrameMontaGradeProgramacao.setResizable(false);
  JFrameMontaGradeProgramacao.add(telaMontaGradeProgramacao);
  JFrameMontaGradeProgramacao.setVisible(true);
  Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
  Dimension windowSize = JFrameMontaGradeProgramacao.getSize();
  int x = (int) ((screenSize.getWidth() - windowSize.getWidth()) / 2);
  int y = (int) ((screenSize.getHeight() - windowSize.getHeight()) / 2);
  JFrameMontaGradeProgramacao.setLocation(x, y);
  JFrameMontaGradeProgramacao.addWindowListener(new WindowAdapter() {
   public void windowClosing(WindowEvent e) {
    
       int fecha = 0 ;
       fecha = valida_quantidade_insercao();
       if (fecha!=0) {
        JOptionPane.showMessageDialog(null, "Quantidade de inserções inválida", "Operador", JOptionPane.ERROR_MESSAGE);
        return;
       } else this.windowClosed();

   }

   protected void windowClosed() {
    jButtonMontaGradeProgramacao.setEnabled(true);
   }
  });

mas na variavel fecha so quero que feche a janela quando fecha for diferente de zero
no metodo valida_quantidade_insercao() estou retornado 1
mas mesmo assim ele fecha a janela

sim, o evento foi chamado antes de fechar a janela, mas vc não fez nada para impedir/permitir.

tente algo mais ou menos assim:

[code]JFrameMontaGradeProgramacao.setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);// o pulo do gato. 8)

public void windowClosing(WindowEvent e) {

 int fecha = 0 ;  
 fecha = valida_quantidade_insercao();  
 if (fecha!=0) {  
  JOptionPane.showMessageDialog(null, "Quantidade de inserções inválida", "Operador", JOptionPane.ERROR_MESSAGE);  
  return;  
 } else{
    JFrameMontaGradeProgramacao.dispose();
      this.windowClosed();  

}

} [/code]

RESOLVIDO

obrigado walisson

[quote=marcoscorso]RESOLVIDO

obrigado walisson [/quote]
:smiley: Disponha.