Насколько я понимаю, это должно помочь:
addWindowListener(new WindowAdapter() {
public void windowCloses(WindowEvent e) {
try{
int confirmed = JOptionPane.showConfirmDialog(null,
"This is my handler. Shall I Exit?", "Exit Message Box, JOptionPane.YES_NO_OPTION);
if (confirmed == JOptionPane.YES_OPTION) {
dispose();
}
}
catch(Exception ex){
//Error print
e.getWindow.dispose()
}
});