Pra levar a reusabilidade da sua telinha ao máximo:
:arrow: faça a GUI numa subclasse de JPanel
:arrow: use um bean burro (POJO) com propriedades que refletem sua GUI
:arrow: crie um método que recebe esse objeto e preenche os campos, checa caixas de texto, etc.
:arrow: crie um método que devolve uma instância desse objeto, preenchida com os valores que o usuário escolheu na GUI
Esse vira um componente totalmente reutilizável, que vc pode colocar dentro de uma janela hoje, mas que um dia pode ser apenas um outro JPanel dentro de uma GUI maior.
Colocar dentro de um JDialog é baba. Tem umas manhas mas o jeito inocente já funciona. Vc deveria ter apenas 1 instância da JDialog, usar show() e hide().
Uma classe que usa essa abordagem é a JOptionPane. Mas como ela na maioria das vezes só retorna qual botão o cara clicou (às vezes tem um input), eles tiraram o bean da API. Vale à pena entender a API (não a implementação).
A msg tá intencionalmente superficial, pq eu não quis que ela ficasse muito comprida. Se vc gostar da idéia, a gente conversa mais…
boa sorte e []s!