First, I'd recommend looking into using a SwingTimer to do your tasks. All those nested loops are could be removed with the timer, the third one in looks to be the culprit (will keep looping until...