A GUI component constructed from a container class is expected to contain other GUI components.
JComponent
class
Objects of the Container
class
or of classes based on Container
have common characteristics.
They can contain components,
they themselves can be placed inside containers, they can be displayed
on the monitor,
they generate events,
they register event listeners,
and so on.
Since all Swing classes have Container
as an ancestor, all Swing objects have these characteristics.
There are more Swing classes than those in the diagram.
For example, there are several button types derived from
AbstractButton
.