Non voglio stravolgere il tuo lavoro... c'è solo un piccolo problema di fondo: usi componenti in modo errato... per quello che vuoi fare tu, il componente ideale ed esistente (al limite lo estendi e personalizzi come meglio credi...) è JDialog.

C'è un altro problema grosso nella logica del tuo programma: la condizione del while altro non è che while(true) e ti credo che si aprono milioni di creaPannello....

Ti conviene ripensare un po' alla struttura del programma, ed implementare quella funzionalità via JDialog.