Ok, this is my first time to see making a new Runnable inside the main class....
It is also safe you create another class and pass all the components, you can update the components there....
Have you also read about EventQueue?
Is there a way I can force the animation starts immediately before the other thread starts?
Try ExecutorService.....
regards,
sukatoa