Top-Level Containers
The components at the top of any Swing containment hierarchy.

General-Purpose Containers
Intermediate containers that can be used under many different circumstances.

Special-Purpose Containers
Intermediate containers that play specific roles in the UI.

Basic Controls
Atomic components that exist primarily to get input from the user; they generally also show simple state. [PENDING: make sure "atomic components" are defined somewhere.]

Uneditable Information Displays
Atomic components that exist solely to give the user information.

Editable Displays of Formatted Information
Atomic components that display highly formatted information that (if you choose) can be edited by the user.