Il metodo da usare per chiudere un JFrame è dispose(); che va richiamato, ovviamente, sull'oggetto JFrame da chiudere.
setDefaultCloseOperation() serve a dire al JFrame come comportarsi quando l'utente fa clic sulla X in alto a destra (o sul pulsante rosso nei Mac).
dispatchEvent() è un metodo che viene richiamato dal framework Swing quando deve dispacciare gli eventi, non andrebbe richiamato dal programmatore se non in casi molto particolari.
Eventualmente posta il codice che hai scritto, così da capire cosa stai sbagliando.
Ciao.![]()