DISPOSE come setDefaultCloseOperation significa solo che alla chiusura della finestra rilascia le risorse di quella finestra... Se vuoi che si chiuda tutta l'applicazione non va bene...

Vedi http://docs.oracle.com/javase/tutori...l#windowevents