JDialog

O negócio é o seguinte:
Eu tenho um JFrame e dele eu abro um JDialog e eu queria que quando eu desse dispose no JDialog, dentro do JFrame eu conseguisse pegar alguma informaçao (com um getAlgumaCoisa) no JDialog que vai ser fechado.
Tem como fazer com listener?
Qual listener eu deveria colocar para o JDialog dentro do JFrame?
E qual evento do listener seria o certo pra usar?

Acho que da pra entender.

Tipo,
cria um objeto que encapsula um outro objeto, e.g:

class Menssagem{
private Objeto o;

 .. getter e setters

}

e passa uma instância dessa classe Menssagem p/ teu JDialog. Antes do JDialog fechar atribui o valor ao objeto Message. E na classe que cria o JDialog (o JFrame) adiciona um windowlistener nesse Jdialog redefinindo o método windowClosed, por exemplo. Quando o windowClosed for chamado o objeto Menssagem vai possuir o valor q vc precisa. Isso é um padrão de projeto ñ tão famoso, mas ñ lembro o nome dele.