In Java, the GUI (Graphical User Interface) is built hierarchically in terms of Components -- one Component nested inside another starting with the smallest Buttons, including Menus, TextFields etc. and ending with full Window divided into Frames, MenuBars etc. |
Not all useful Classes are inherited from Component. For instance Menu inherits from MenuComponent (interface) --> MenuItem --> Menu |
One also needs a set of methods and classes to define the layout of the Components in a particular Panel |
LayoutManager is a java.awt interface with several particular layout strategies implemented as classes under this interface |
The Container class has methods to interact with LayoutManager classes |