Perguntar ao fechar janela

Estou querendo que quando o usuário clicar no “x” da janela, exiba uma mensagem se ele quer realmente fechar a janela. Nao estou conseguindo. O que esta de errado?

import java.awt.FlowLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.WindowConstants;

public class Principal extends JFrame {

	public Principal() {
		
		setTitle("Janela JFrame");
		setSize(500, 300);
		setResizable(false);
		setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
		setLocationRelativeTo(null);
		setLayout(new FlowLayout(FlowLayout.CENTER, 5, 20));
		add(new JButton("Inserir"));
		add(new JButton("Excluir"));
		add(new JButton("Listar Todos"));
		add(new JButton("Pesquisar"));
		setVisible(true);

		this.addWindowListener(new WindowAdapter(){
			public void windowClosed(WindowEvent e) {  
				int resposta = JOptionPane.showConfirmDialog(null, "Deseja realmente"
						+ " fechar o programa?", "Mensagem de saída",
						JOptionPane.YES_NO_OPTION);
				if (resposta == JOptionPane.YES_OPTION) {
					System.exit(0);
				}
			}
		});

	}

	public static void main(String[] args) {

		new Principal();

	}
}

O método correto que deveria implementar é windowClosing.

http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/WindowAdapter.html#windowClosing(java.awt.event.WindowEvent)

Era isso mesmo. Valeu. Abraços!!!