Lightweight Components
Suppose for example we wanted to create a type of Button--something round, holding an image or icon.
We could subclass Canvas, resize the object to the appropriate dimensions, override the paint() method, and implements appropriate listeners.