Buenas,
Eso es porque al hacer el wait estas congelando el EDT (Event Dispatcher Thread) que es el hilo encargado de estar a la escucha de los eventos UI.
Antes de nada deberias conocer bien la estructura de las aplicaciones Swing:
https://docs.oracle.com/javase/tutor.../dispatch.html
Por otro lado, si te fijas en ningun momento estas lanzando un tread (metodo start()).
Un saludo