Se bloqueó la interfaz gráfica de usuario al iniciar el subproceso desde el evento en el que se hizo clic

Esta puede ser una pregunta básica pero en la que estoy atrapado.

Me gustaría saber más sobre por qué la GUI se bloquea cuando inicio un nuevo hilo (ejecutable) desde un evento de clic de botón. y como puedo superar eso? ¿Qué estoy haciendo mal?

El código a continuación comienza un nuevo hilo cuando se hace clic, sin embargo, me gustaría cambiar el color de fondo de un cuadro de texto cuando se hace clic en ese botón, pero no puedo hacerlo, también la interfaz de usuario principal no responde mientras ese hilo se está ejecutando. creía que lo estaba implementando correctamente al iniciar un nuevo hilo para NO bloquear la interfaz de usuario principal, pero debo haber perdido algo ya que obviamente este comportamiento no es el deseado.

Código:

private void startButtonEvent(ActionEvent evt) {

         ntmStatusText.setBackground(Color.green);// textbackground I want to change

        //Start Ntm Thread
         Thread thread = new Thread(new NtmThread());
           thread.start();

           while(thread.isAlive()){

               System.out.println("thread still working");

           }
           System.out.println("thread stopped");

    }

¿Cómo evito que mi interfaz de usuario deje de responder cuando ejecuto hilos?

Respuestas a la pregunta(2)

Su respuesta a la pregunta