Quei metodi non c'entrano niente: servono ad intercettare particolari eventi accaduti sulla finestra.

Per chiudere una finestra si usa il metodo dispose().

Quindi, nell'esempio che ho riportato prima:
codice:
   // Il gestore del pulsante
   public void actionPerformed(ActionEvent ae) {
      secondario = new FrameSecondario( ... );
      secondario.setVisible( true );

      // Supponendo che "frmPrincipale" sia un riferimento al frame principale
      frmPrincipale.dispose();
   }
Nota che frmPrincipale deve essere un riferimento al JFrame principale, visibile all'ActionListener (potrebbe, quindi, essere anche semplicemente this, se l'ActionListener responsabile dell'intercettazione dell'evento sul pulsante è il frame stesso).


Ciao.