Forse potresti sostituire al JFrame secondario un JDialog in modo tale da poterlo rendere "bloccante" (non si può utilizzzare il JFrame che lo ha chiamato finchè il JDialog non è chiuso), credo sia la soluzione più semplice, oppure quando crei il secondo frame nascondi il primo e lo rendi di nuovo visibile alla chiusura del secondo.