A Choice is displayed in a compact form that must be pulled down, in order for a user to be able to see the list of all available choices. Only one item may be selected from a Choice. A List may be displayed in such a way that several List items are visible. A List supports the selection of one or more List items.
A layout manager is the used to organize the components in a container.
A Scrollbar is a Component, but not a Container. A ScrollPane is a Container. A ScrollPane handles its own events and performs its own scrolling.
There are only three thread-safe methods: repaint, revalidate, and invalidate.
The Canvas, Frame, Panel, and Applet classes support painting.
Clipping is defined as the process of confining paint operations to a limited area or shape.
The CheckboxMenuItem class extends the MenuItem class and supports a menu item that may be either checked or unchecked.
The elements of a BorderLayout are organized at the borders (North, South, East, and West) and the center of a container.
The elements of a GridBagLayout are organized according to a grid. The elements are of different sizes and may occupy more than one row or column of the grid. Thus, the rows and columns may have different sizes.
The Frame class extends the Window class and defines a main application window that can have a menu bar.
When a window is repainted by the AWT painting thread, it sets the clipping regions to the area of the window that requires repainting.
An event-listener interface defines the methods that must be implemented by an event handler for a particular event. An event adapter provides a default implementation of an event-listener interface.
A GUI component can handle its own events, by implementing the corresponding event-listener interface and adding itself as its own event listener.
Java uses layout managers to lay out components in a consistent manner, across all windowing platforms. Since layout managers aren’t tied to absolute sizing and positioning, they are able to accomodate platform-specific differences among windowing systems.
The design pattern used by Java for all Swing components is the Model View Controller (MVC) pattern.