You're going to need to look into threads to control the animation of the main panel... do the buttons just like I mentioned above... and to make the animation smoother, look into double-buffering. It improves the quality of the animation by drawing to an offscreen image and then drawing the offscreen image to the applet in one step, so you don't have redraw problems...
here's a quick example of how to do double buffering...
-Nate