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
Caret is an insertion point for text, sometimes called an I-beam. This class is useful only in conjunction with class Canvas.
Button
Buttons represent all the buttonlike controls that are normally found in a widget system (push buttons, radio buttons, etc.).
Label
Labels are static, passive controls capable of displaying either text or images. Labels are also used to display "separators" between other controls.
ProgressBar
ProgressBar is used to display activity or degree of completion.
Sash
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
Scale is a linear potentiometer that is used to measure either discrete or continuous quantities (such as the volume controls on a mixer).
Canvas
Canvas is a general-purpose drawing surface.
Shell
Shell represents all top-level windows on the desktop, including dialog boxes.
Combo
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
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
List displays a single column of tabular data that can contain only text.
Text
Text controls are single- or multiple-line text editors.
Slider
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
ScrollBar is used to scroll the contents of a control and is automatically positioned along the bottom and right edges of the control.
Tracker
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.