You need a Swing Timer if you want to use a timer to make changes to the GUI (painting, etc). All GUI changes must be done in the Swing Event Dispatch Thread (EDT), and a Swing Timer action is...