### Controls

A Control is a widget that you can create and place anywhere you want in your widget parent/child tree. The SWT API reference and examples contains detailed information about the different kinds of controls and their usage. The org.eclipse.swt.widgets package defines the core set of widgets in SWT. The following table summarizes the concrete types of controls provided in this package.

Widget | Purpose
--- | ---
Browser | Control containing a native HTML renderer.
Button | Selectable control that issues notification when pressed and/or released.
Canvas | Composite control that provides a surface for drawing arbitrary graphics. Often used to implement custom controls.
Caret | An i-beam that is typically used as the insertion point for text.
Combo | Selectable control that allows the user to choose a string from a list of strings, or optionally type a new value into an editable text field.
Composite | Control that is capable of containing other widgets.
CoolBar | Composite control that allows users to dynamically reposition the cool items contained in the bar.
CoolItem | Selectable user interface object that represents a dynamically positionable area of a cool bar.
ExpandBar | Composite control that groups pages that can be shown or hidden by the user with labeled headers.
ExpandItem | Selectable user interface object corresponding to a header for a page in an ExpandBar.
Group | Composite control that groups other widgets and surrounds them with an etched border and/or label.
Label | Non-selectable control that displays a string or an image.
Link | Selectable control that displays a text with links.
List | Selectable control that allows the user to choose a string or strings from a list of strings.
Menu | User interface object that contains menu items.
MenuItem | Selectable user interface object that represents an item in a menu.
ProgressBar | Non-selectable control that displays progress to the user, typically in the form of a bar graph.
Sash | Selectable control that allows the user to drag a rubber banded outline of the sash within the parent window. Used to allow users to resize child widgets by repositioning their dividing line.
Scale | Selectable control that represents a range of numeric values.
ScrollBar | Selectable control that represents a range of positive numeric values. Used in a Composite that has V_SCROLL and/or H_SCROLL styles.
Shell | Window that is managed by the OS window manager. Shells can be parented by a Display (top level shells) or by another shell (secondary shells).
Slider | Selectable control that represents a range of numeric values. A slider is distinguished from a scale by providing a draggable thumb that can adjust the current value along the range.
Spinner | Selectable control that allows the user to enter and modify numeric values.
TabFolder | Composite control that groups pages that can be selected by the user using labeled tabs.
TabItem | Selectable user interface object corresponding to a tab for a page in a tab folder.
Table | Selectable control that displays a list of table items that can be selected by the user. Items are presented in rows that display multiple columns representing different aspects of the items.
TableColumn | Selectable user interface object that represents a column in a table.
TableItem | Selectable user interface object that represents an item in a table.
Text | Editable control that allows the user to type text into it.
ToolBar | Composite control that supports the layout of selectable tool bar items.
ToolItem | Selectable user interface object that represents an item in a tool bar.
Tree | Selectable control that displays a hierarchical list of tree items that can be selected by the user.
TreeColumn | Selectable user interface object that represents a column in a tree.
TreeItem | Selectable user interface object that represents a hierarchy of tree items in a tree.