Duvidas JDialog, JFormattedTextField entre outras

Ola galera, tudo bem?
Pois é, estou com algums problemas, estou a programar um Agenda Telefonica, apenas para praticar mesmo e apareceram alguns problemas, primeiro precisava de uma janela modal com um formulario para o usuario criar um novo contato, resolvi usar o JDialog, ate ai beleza, mas há um problema, quando eu fecho o JDialog aparece outro, e so depois de fechar esse segundo que volta a execução normal do aplicativo, o que pode ser isso?
o codigo é normal, como a de instanciar e adicionar um componente a um JFrame, foi como fiz.
Outro problema é com JFormattedTextField, em meu formulario eu tenho o botão limpar, que seta todos os fields com o text “”, porem quando eu faço isso é como se o JFormattedTextField perdesse a mascara por um momento, ele aceita caracteres como um field normal e so depois de perder o foco que a mascara volta a aparecer.
Outra coisa, não me lembro onde eu vi, mas se não me engano eu vi em algum lugar que o layer 200 é o reservado para janelas modal, então eu poderia criar um JFrame e usar o setZIndez() ou é um metodo com nome semelhante, para setar a camada do frame e seta-la para 200 para ser uma janela modal?