ArrayList não estou conseguindo mostrar os dados depois que fecho o JDialog

Ola pessoal. queria uma ajuda com o seguinte problema.
tenho 4 classes. na qual a primeira se chama JanelaPrincipal nessa classe esta o metodo main, classe JanelaPrincipa eu estou usando o JFrame e um barra de menu com MenuItem para chamar as outras janelas ate ai tudo ok. a segunda classe se chama Cadastro estou usando um JDailog com os campos do cadastro tudo normal.
a outra classe e Pessoa com seus atributos e metodos gets e sets. a outra classe que se chama Dados na qual eu crio um ArrayList pessoa cadastro = new ArrayList pessoa() nao apareceu os colchetes mesmo eu colocando rsrsr e crio um metodo dentro da minha classe Dados.
public void cadastro(Pessoa p){
cadastro.add§;
}
e depois crio o metodo imprimir na classe dados.

bem eu recebo os dados na classe Cadastro que e uma JDialog e coloco no construtor da classe pessoa(nome,end,telefone);
e depois crio o objeto do tipo dados. para poder chamar o metodo cadastro e colocar na lista. ate ai tudo bem. os valores sao recebido no metodo cadastro so que eu fecho a minha janela Cadastro que e uma JDialog os valores que quando eu vou emprimir nao estao mais la. ja usei o setVisible e nada. coloquei o system.out.println no metodos para ver se tava entrando e os valores estavam indo ta tudo ok . o unico problema e se eu fechar a janela os dados sao perdido. alguem poderia me ajudar
obs: meu JDialog estou usando o dispose_on_close