Note that there is an additional class, Decorations, that is treated as an abstract class, although it is not marked as such. This class was intended to be a placeholder for work in SWT to support the multiple-document interface (MDI) API found in Microsoft Windows. As such, the implementation of the Shell API is actually split between Shell and Decorations but is always described as though it were found in class Shell.
Caret is an insertion point for text, sometimes called an I-beam. This class is useful only in conjunction with class Canvas.
Buttons represent all the buttonlike controls that are normally found in a widget system (push buttons, radio buttons, etc.).
Labels are static, passive controls capable of displaying either text or images. Labels are also used to display "separators" between other controls.
ProgressBar is used to display activity or degree of completion.
Sashes are placed between controls and can be positioned by dragging. Note that moving Sash does not automatically reposition the controls that it separates, although you would typically add listeners to do this.
Scale is a linear potentiometer that is used to measure either discrete or continuous quantities (such as the volume controls on a mixer).
Canvas is a general-purpose drawing surface.
Shell represents all top-level windows on the desktop, including dialog boxes.
Combo is a combination of Text and List controls used to display a selection of choices in a compact area.
CoolBar and CoolItem
CoolBar displays moveable instances of CoolItem that can contain arbitrary widgets. These are almost exclusively used to position tool bars.
Group is a static control that draws a border around a set of other controls and optionally displays a title.
TabFolder and TabItem
TabFolder displays a row of tab items that have the appearance of pages in a notebook.
Table, TableColumn, and TableItem
Table is used to display tabular data, which can contain both text and images. Each column in the table is represented by TableColumn, and each row is described by TableItem.
ToolBar and ToolItem
ToolBar is used to display one or more rows of buttonlike tool items.
Tree and TreeItem
Tree is used to display hierarchical information, represented by multiple instances of TreeItem that can contain both text and graphics.
List displays a single column of tabular data that can contain only text.
Text controls are single- or multiple-line text editors.
Slider is a kind of scroll bar that can be placed anywhere in a composite.
Menu and MenuItem
Menu allows an action to be chosen from a list of menu items. Menu bars, pull-down menus, and pop-up menus are all represented by instances of class Menu.
ScrollBar is used to scroll the contents of a control and is automatically positioned along the bottom and right edges of the control.
Tracker is used to allow the user to move or resize one or more rectangles on the screen. This kind of action is sometimes called rubber banding.