Ante todo muchisimas gracias por responderme

.
He seguido tus consejos y algo debo hacer mal porque el programa se me bloquea

.
El codigo que he utilizado es este:
public void jButton1_mouseClicked(MouseEvent e) {
launch_classes();
}
public void launch_classes ()
{
try {
CLASE1.start();
//Wait indefinitely for the thread to finish
CLASE1.CLASE1_Thread.join;
CLASE2.start();
}
catch (Exception ex)
{
BLA BLA BLA
}
}
Y al ejecutar se queda bloqueado en el join, ¿Como podría hacerlo para que no se bloquee?
También lo he intentado haciendo un bucle para perder el tiempo (quizás es una barbaridad) y también se colgaba. El código es este:
while (CLASE1.CLASE1_Thread.isAlive())
{
}
A ver si podemos encontrar una solucion porque ya no se que probar