Perchè l'evento viene processato ugualmente. Ma questo accade solamente con i JFrame di Swing (con i Frame di AWT la finestra non viene chiusa).
Per evitare che la finestra si chiusa se non avviene la pressione di SI basta dire al JFrame di non fare nulla all'evento di chiusura:
codice:
all'interno del costruttore:

setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
A questo punto, se viene premuto il pulsante di chiusura viene eseguito solamente il codice all'interno del metodo windowClosing() ma no viene processato l'evento di chiusura della finestra.


Ciao.