Fechar jFrame

Eu gostaria de uma força de vcs. Eu trabalho com delphi e estou começando a desenvolver em java e estou com uma duvida.
Quando eu clico no botao X da barra de titulo para fechar um jframe tem como eu executar algum comando.
Exemplo o do delphi quando eu clico no X ele executa um procedimento e dentro deste procedimento eu posso colocar linhas de comando.

Então. No JFrame, quando vc clica no X, ou qualquer outro comando para fechar a janela (como Alt-F4), irá ser executado o comando default configurado no método setDefaultCloseOperation(int).

Nele você pode configurar as ações DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE, DISPOSE_ON_CLOSE ou EXIT_ON_CLOSE (veja
http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JFrame.html#setDefaultCloseOperation(int)).

Normalmente, eu coloco a opção default DO_NOTHING_ON_CLOSE, e capturo o evento windowClosing(WindowEvent e) de um WindowListener.
Aí eu decido se quero ou não fechar a janela usando o método dispose().

Porém, você pode apenas capturar o evento, independente da ação default.

public class MyFrame extends JFrame { public MyFrame() { addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { //AÇÃO ANTES DE FECHAR } }); } }