Encapsulating Key-Time Dynamics Location and Rotation Tweening
BuzzyOnMars

This example will not working in versions of Java prior to 1.6. It can be modified to use the GeneralPath class rather than the Path2D class (as in this implementation).