Per chiudere un JFrame e il rpogramma non ho mai usato il metodo da te indicato.
Io uso i seguenti:

1. quando premo la x per chiudere la finestra

public class WindowHandler extends WindowAdapter{
public void windowClosing(WindowEvent e){
System.exit(0);
}
}

2. evento associato al menu: per esempio file>esci

class MenuItemHandler implements ActionListener{
public void actionPerformed(ActionEvent d){
String t = d.getActionCommand();
if(t.equals("Esci")){
System.exit(0);
}
}
}

3.evento associato ad un bottone all'interno del JFrame
JButton opButton = new JButton("Esci");

class ButtonHandler implements ActionListener{
public void actionPerformed(ActionEvent e){
String s = e.getActionCommand();
if(s.equals("Esci")){
System.exit(0);
}
}
}

Il metodo System.exit(0) chiude tutto.

Questo è quello che posso dirti, spero di esserti stato un pò utile

ciao