Execução depois de mostrar o JDialog executa na hora errada!

Oi, galera do GUJ!
Tudo bem?

Problema simples, penso eu, mas não consigo resolver!
Tenho meu formulário MANAGER, do qual eu gerencio determinada entidade.
Tenho meus formulários específicos, que coordenam o cadastro e alteração das entidades.

Bom, no meu formulário MANAGER, eu tenho um botão “Novo”. Quero que ele abra o formulário e, depois que o mesmo for fechado, recupere alguns dados. Desse modo:

public class ClienteManager extends JFrame {
  
    //...
    private class NovoClienteActionListener implements ActionListener {
        @Override public void actionPerformed(ActionEvent event) {
    
            try {

                ClienteForm formularioCliente = new ClienteForm();
                formularioCliente.showDialog();  // aqui eu mostro meu formulário na tela.

                //quero que, a partir daqui, só execute depois que fechar o formulário acima!
                if (formularioCliente.foiCadastrado()) {

                    // commit na operação INSERT.
                    Cliente entidadeCliente = formularioCliente.recuperarCliente(); 
                    tablemodelCliente.adicionarCliente(entidadeCliente);
                } 
            }
            catch (SQLException sqlException) {
                // rollback na operação INSERT.
                sqlException.printStackTrace();
            }
            catch (Exception anyException) {
                // rollback na operação INSERT.
                anyException.printStackTrace();
            }
        }
    }
}

E meu formulário de edição:

public class ClienteForm extends JDialog {

    //...

    public Boolean foiCadastrado() { return cadastrado; }

    private class ConfirmarActionListener implements ActionListener {
        @Override public void actionPerformed(ActionEvent event) {
    
            try {

                Cliente entidadeCliente = new Cliente();
                entidadeCliente.setNome("ZÉ DAS COUVES");
                entidadeCliente.setCPF("11111111111");

                ServicosClientes.adicionarCliente(entidadeCliente);
                cadastrado = true;
                dispose();
            }
            catch (SQLException sqlException) {
                sqlException.printStackTrace();
            }
            catch (Exception anyException) {
                anyException.printStackTrace();
            }
        }
    }

    private class ConfirmarActionListener implements ActionListener {
        @Override public void actionPerformed(ActionEvent event) {
            cadastrado = false;
            dispose();
        }
    }
}

O mesmo vale para operações UPDATE.
Quando ele abre o formulário de edição, logo vai para a execução abaixo, e não quero que isso aconteça!
Alguma ideia?

Valeu, gente, fiquem com Deus!