Component
A Component is a graphical text GUI element and can be used either to display information to the user or to enable the user to interact with the program.
Components are organized into a tree structure of Component elements nested in each other. The component hierarchy always has a Container at its root. A child Component is always bounded by its parent. Containers are branches in this tree while Components are leaves. So for example a panel which is intended to be able to hold other components like a label or a check box is a Container while a label which is only intended to display information is just a Component.
Components also support UI event handling through UIEventSource and ComponentEventSource and can handle focus.
The Component abstraction implements the Composite design pattern with Component and Container.