Hola:
Java atiende todos los eventos de teclado y ratón en
el mismo hilo que se encarga de repintar las ventanas. Si al pulsar un botón dejas el código bloqueado (estableciendo un socket y esperando recibir algo por él con un read() o un accept(), por ejemplo), se queda bloqueado el hilo que repinta las ventanas, por lo que todas las ventanas y componentes de la interface grafica dejan de funcionar.
Para evitar esto, debes al pulsar el botón,
crear un nuevo hilo que se encargue del tema de la conexión y devolver el control del jButtonActionPerformed() lo antes posible.
En los enlaces tienes más detalles.
Se bueno.