esiste una Jdialog modale che si chiude al verificarsi di una condizione.
Significa che apri il dialog in modalità modale, fai le tue cose, la chiusura la fai DOPO aver letto correttamente l'input e in quel caso chiudere quel dialog ti fa tornare alla finestra principale.
Questo simula il comportamento del JOptionPane, non si comporta cmq allo stesso modo.
Aprire una nuova finestra significa che le due hanno in generale vita indipendente (restano cmq legate) e per realizzare quel meccanismo devi aggiungere meccanismi di sincronizzazione.