# Uses of Package
javafx.scene.control

- Packages that use javafx.scene.control
  Package | Description
  --- | ---
  javafx.scene.control | The JavaFX User Interface Controls (UI Controls or just Controls) are specialized Nodes in the JavaFX Scenegraph especially suited for reuse in many different application contexts.
  javafx.scene.control.cell | The `javafx.scene.control.cell` package is where all cell-related classes are located, other than the core classes such as `Cell`, `IndexedCell`, `ListCell`, `TreeCell`, and `TableCell`.
  javafx.scene.control.skin | The javafx.scene.control.skin package is where the skin classes, typically one for each UI control, are located
  javafx.scene.web | This package provides means for loading and displaying Web content.

- Classes in javafx.scene.control used by javafx.scene.control
  Class | Description
  --- | ---
  Alert.AlertType | An enumeration containing the available, pre-built alert types that the `Alert` class can use to pre-populate various properties.
  ButtonBar.ButtonData | An enumeration of all available button data annotations.
  ButtonBase | Base class for button-like UI Controls, including Hyperlinks, Buttons, ToggleButtons, CheckBoxes, and RadioButtons.
  ButtonType | The ButtonType class is used as part of the JavaFX `Dialog` API (more specifically, the `DialogPane` API) to specify which buttons should be shown to users in the dialogs.
  Cell | The Cell API is used for virtualized controls such as `ListView`, `TreeView`, and `TableView`.
  CheckBoxTreeItem | TreeItem subclass that adds support for being in selected, unselected, and indeterminate states.
  CheckBoxTreeItem.TreeModificationEvent | A TreeModificationEvent class that works in a similar vein to the `TreeItem.TreeModificationEvent` class, in that this event will bubble up the CheckBoxTreeItem hierarchy, until the parent node is null.
  ComboBoxBase | Abstract base class for ComboBox-like controls.
  ContentDisplay | The position to place the content within a Label.
  ContextMenu | A popup control containing an ObservableList of menu items.
  Control | Base class for all user interface controls.
  CustomMenuItem | A `MenuItem` that allows for arbitrary nodes to be embedded within it, by assigning a `Node` to the `content` property.
  DateCell | DateCell is used by `DatePicker` to render the individual grid cells in the calendar month.
  DatePicker | The DatePicker control allows the user to enter a date as text or to select a date from a calendar popup.
  Dialog | A Dialog in JavaFX wraps a `DialogPane` and provides the necessary API to present it to end users.
  DialogEvent | Event related to dialog showing/hiding actions.
  DialogPane | DialogPane should be considered to be the root node displayed within a `Dialog` instance.
  FocusModel | The abstract base class for FocusModel implementations.
  IndexedCell | An implementation of `Cell` which contains an index property which maps into the data model underlying the visualization.
  IndexRange | Class representing a contiguous range of integral values.
  Labeled | A Labeled `Control` is one which has as part of its user interface a textual content associated with it.
  ListCell | The `Cell` type used within `ListView` instances.
  ListView | A ListView displays a horizontal or vertical list of items from which the user may select, or with which the user may interact.
  ListView.EditEvent | An `Event` subclass used specifically in ListView for representing edit-related events.
  Menu | A popup menu of actionable items which is displayed to the user only upon request.
  MenuButton | MenuButton is a button which, when clicked or pressed, will show a `ContextMenu`.
  MenuItem | MenuItem is intended to be used in conjunction with `Menu` to provide options to users.
  MultipleSelectionModel | An abstract class that extends `SelectionModel` to add API to support multiple selection.
  OverrunStyle | Defines the behavior of a labeled Control when the space for rendering the text is smaller than the space needed to render the entire string.
  PopupControl | An extension of PopupWindow that allows for CSS styling.
  PopupControl.CSSBridge | The link between the popup window and the scenegraph.
  ProgressIndicator | A circular control which is used for indicating progress, either infinite (aka indeterminate) or finite.
  ResizeFeaturesBase | An immutable wrapper class for use by the column resize policies offered by controls such as `TableView` and `TreeTableView`.
  ScrollPane.ScrollBarPolicy | An enumeration denoting the policy to be used by a scrollable Control in deciding whether to show a scroll bar.
  ScrollToEvent | Event related to `ScrollPane` and virtualised controls such as `ListView`, `TableView`, `TreeView` and `TreeTableView`.
  SelectionMode | An enumeration used to specify how many items may be selected in a `MultipleSelectionModel`.
  SelectionModel | SelectionModel is an abstract class used by UI controls to provide a consistent API for maintaining selection.
  SingleSelectionModel | A SelectionModel which enforces the requirement that only a single index be selected at any given time.
  Skin | Base class for defining the visual representation of user interface controls by defining a scene graph of nodes to represent the skin.
  Skinnable | The Skinnable interface is implemented by the `Control` class, and therefore is implemented by all Control implementations.
  SortEvent | Event related to `TableView` and `TreeTableView` sorting.
  SpinnerValueFactory | The SpinnerValueFactory is the model behind the JavaFX `Spinner control` - without a value factory installed a Spinner is unusable.
  SplitPane.Divider | Represents a single divider in the SplitPane.
  Tab | Tabs are placed within a `TabPane`, where each tab represents a single 'page'.
  TableCell | Represents a single row/column intersection in a `TableView`.
  TableColumn | A `TableView` is made up of a number of TableColumn instances.
  TableColumn.CellDataFeatures | A support class used in TableColumn as a wrapper class to provide all necessary information for a particular `Cell`.
  TableColumn.CellEditEvent | An event that is fired when a user performs an edit on a table cell.
  TableColumn.SortType | Enumeration that specifies the type of sorting being applied to a specific column.
  TableColumnBase | Table-like controls (such as `TableView` and `TreeTableView`) are made up of zero or more instances of a concrete TableColumnBase subclass (`TableColumn` and `TreeTableColumn`, respectively).
  TableFocusModel | The abstract base class for FocusModel implementations that are used within table-like controls (most notably `TableView` and `TreeTableView`.
  TablePosition | This class is used to represent a single row/column/cell in a TableView.
  TablePositionBase | This class is used to represent a single row/column/cell in a table.
  TableRow | TableRow is an `IndexedCell`, but rarely needs to be used by developers creating TableView instances.
  TableSelectionModel | The abstract base class for MultipleSelectionModel implementations that are used within table-like controls (most notably `TableView` and `TreeTableView`.
  TableView | The TableView control is designed to visualize an unlimited number of rows of data, broken out into columns.
  TableView.ResizeFeatures | An immutable wrapper class for use in the TableView `column resize` functionality.
  TableView.TableViewFocusModel | A `FocusModel` with additional functionality to support the requirements of a TableView control.
  TableView.TableViewSelectionModel | A simple extension of the `SelectionModel` abstract class to allow for special support for TableView controls.
  TabPane | A control that allows switching between a group of `Tabs`.
  TabPane.TabClosingPolicy | This specifies how the TabPane handles tab closing from an end-users perspective.
  TabPane.TabDragPolicy | This enum specifies drag policies for tabs in a TabPane.
  TextField | Text input component that allows a user to enter a single line of unformatted text.
  TextFormatter | A Formatter describes a format of a `TextInputControl` text by using two distinct mechanisms: A filter (`TextFormatter.getFilter()`) that can intercept and modify user input.
  TextFormatter.Change | Contains the state representing a change in the content or selection for a TextInputControl.
  TextInputControl | Abstract base class for text input controls.
  TextInputControl.Content | Interface representing a text input's content.
  TitledPane | A TitledPane is a panel with a title that can be opened and closed.
  Toggle | Represents a control that can be toggled between selected and non-selected states.
  ToggleButton | A `ToggleButton` is a specialized control which has the ability to be selected.
  ToggleGroup | A class which contains a reference to all `Toggles` whose `selected` variables should be managed such that only a single ``Toggle`` within the `ToggleGroup` may be selected at any one time.
  Tooltip | Tooltips are common UI elements which are typically used for showing additional information about a Node in the scenegraph when the Node is hovered over by the mouse.
  TreeCell | The `Cell` type used with the `TreeView` control.
  TreeItem | The model for a single node supplying a hierarchy of values to a control such as `TreeView`.
  TreeItem.TreeModificationEvent | An `Event` that contains relevant information for all forms of TreeItem modifications.
  TreeSortMode | Specifies how the tree items in tree-like UI controls should be sorted.
  TreeTableCell | Represents a single row/column intersection in a `TreeTableView`.
  TreeTableColumn | A `TreeTableView` is made up of a number of TreeTableColumn instances.
  TreeTableColumn.CellDataFeatures | A support class used in TreeTableColumn as a wrapper class to provide all necessary information for a particular `Cell`.
  TreeTableColumn.CellEditEvent | An event that is fired when a user performs an edit on a table cell.
  TreeTableColumn.SortType | Enumeration that specifies the type of sorting being applied to a specific column.
  TreeTablePosition | This class is used to represent a single row/column/cell in a TreeTableView.
  TreeTableRow | TreeTableRow is an `IndexedCell`, but rarely needs to be used by developers creating TreeTableView instances.
  TreeTableView | The TreeTableView control is designed to visualize an unlimited number of rows of data, broken out into columns.
  TreeTableView.EditEvent | An `Event` subclass used specifically in TreeTableView for representing edit-related events.
  TreeTableView.ResizeFeatures | An immutable wrapper class for use in the TableView `column resize` functionality.
  TreeTableView.TreeTableViewFocusModel | A `FocusModel` with additional functionality to support the requirements of a TableView control.
  TreeTableView.TreeTableViewSelectionModel | A simple extension of the `SelectionModel` abstract class to allow for special support for TreeTableView controls.
  TreeView | The TreeView control provides a view on to a tree root (of type `TreeItem`).
  TreeView.EditEvent | An `Event` subclass used specifically in TreeView for representing edit-related events.

- Classes in javafx.scene.control used by javafx.scene.control.cell
  Class | Description
  --- | ---
  Cell | The Cell API is used for virtualized controls such as `ListView`, `TreeView`, and `TableView`.
  Control | Base class for all user interface controls.
  IndexedCell | An implementation of `Cell` which contains an index property which maps into the data model underlying the visualization.
  Labeled | A Labeled `Control` is one which has as part of its user interface a textual content associated with it.
  ListCell | The `Cell` type used within `ListView` instances.
  ListView | A ListView displays a horizontal or vertical list of items from which the user may select, or with which the user may interact.
  Skinnable | The Skinnable interface is implemented by the `Control` class, and therefore is implemented by all Control implementations.
  TableCell | Represents a single row/column intersection in a `TableView`.
  TableColumn | A `TableView` is made up of a number of TableColumn instances.
  TableColumn.CellDataFeatures | A support class used in TableColumn as a wrapper class to provide all necessary information for a particular `Cell`.
  TreeCell | The `Cell` type used with the `TreeView` control.
  TreeItem | The model for a single node supplying a hierarchy of values to a control such as `TreeView`.
  TreeTableCell | Represents a single row/column intersection in a `TreeTableView`.
  TreeTableColumn | A `TreeTableView` is made up of a number of TreeTableColumn instances.
  TreeTableColumn.CellDataFeatures | A support class used in TreeTableColumn as a wrapper class to provide all necessary information for a particular `Cell`.
  TreeView | The TreeView control provides a view on to a tree root (of type `TreeItem`).

- Classes in javafx.scene.control used by javafx.scene.control.skin
  Class | Description
  --- | ---
  Accordion | An accordion is a group of `TitlePanes`.
  Button | A simple button control.
  ButtonBar | A ButtonBar is essentially a `HBox`, with the additional functionality for operating system specific button placement.
  Cell | The Cell API is used for virtualized controls such as `ListView`, `TreeView`, and `TableView`.
  CheckBox | A tri-state selection Control typically skinned as a box with a checkmark or tick mark when checked.
  ChoiceBox | The ChoiceBox is used for presenting the user with a relatively small set of predefined choices from which they may choose.
  ColorPicker | ColorPicker control allows the user to select a color from either a standard palette of colors with a simple one click selection OR define their own custom color.
  ComboBox | An implementation of the `ComboBoxBase` abstract class for the most common form of ComboBox, where a popup list is shown to users providing them with a choice that they may select from.
  ComboBoxBase | Abstract base class for ComboBox-like controls.
  ContextMenu | A popup control containing an ObservableList of menu items.
  Control | Base class for all user interface controls.
  DateCell | DateCell is used by `DatePicker` to render the individual grid cells in the calendar month.
  DatePicker | The DatePicker control allows the user to enter a date as text or to select a date from a calendar popup.
  Hyperlink | An HTML like label which can be a graphic and/or text which responds to rollovers and clicks.
  IndexedCell | An implementation of `Cell` which contains an index property which maps into the data model underlying the visualization.
  Label | Label is a non-editable text control.
  Labeled | A Labeled `Control` is one which has as part of its user interface a textual content associated with it.
  ListCell | The `Cell` type used within `ListView` instances.
  ListView | A ListView displays a horizontal or vertical list of items from which the user may select, or with which the user may interact.
  MenuBar | A MenuBar control traditionally is placed at the very top of the user interface, and embedded within it are `Menus`.
  MenuButton | MenuButton is a button which, when clicked or pressed, will show a `ContextMenu`.
  Pagination | A Pagination control is used for navigation between pages of a single content, which has been divided into smaller parts.
  ProgressBar | A specialization of the ProgressIndicator which is represented as a horizontal bar.
  ProgressIndicator | A circular control which is used for indicating progress, either infinite (aka indeterminate) or finite.
  RadioButton | RadioButtons create a series of items where only one item can be selected.
  ScrollBar | Either a horizontal or vertical bar with increment and decrement buttons and a "thumb" with which the user can interact.
  ScrollPane | A Control that provides a scrolled, clipped viewport of its contents.
  Separator | A horizontal or vertical separator line.
  Skin | Base class for defining the visual representation of user interface controls by defining a scene graph of nodes to represent the skin.
  SkinBase | Base implementation class for defining the visual representation of user interface controls by defining a scene graph of nodes to represent the `skin`.
  Slider | The Slider Control is used to display a continuous or discrete range of valid numeric choices and allows the user to interact with the control.
  Spinner | A single line text field that lets the user select a number or an object value from an ordered sequence.
  SplitMenuButton | The SplitMenuButton, like the `MenuButton` is closely associated with the concept of selecting a `MenuItem` from a menu.
  SplitPane | A control that has two or more sides, each separated by a divider, which can be dragged by the user to give more space to one of the sides, resulting in the other side shrinking by an equal amount.
  TableCell | Represents a single row/column intersection in a `TableView`.
  TableColumn | A `TableView` is made up of a number of TableColumn instances.
  TableColumnBase | Table-like controls (such as `TableView` and `TreeTableView`) are made up of zero or more instances of a concrete TableColumnBase subclass (`TableColumn` and `TreeTableColumn`, respectively).
  TableRow | TableRow is an `IndexedCell`, but rarely needs to be used by developers creating TableView instances.
  TableView | The TableView control is designed to visualize an unlimited number of rows of data, broken out into columns.
  TabPane | A control that allows switching between a group of `Tabs`.
  TextArea | Text input component that allows a user to enter multiple lines of plain text.
  TextField | Text input component that allows a user to enter a single line of unformatted text.
  TextInputControl | Abstract base class for text input controls.
  TitledPane | A TitledPane is a panel with a title that can be opened and closed.
  ToggleButton | A `ToggleButton` is a specialized control which has the ability to be selected.
  ToolBar | A ToolBar is a control which displays items horizontally or vertically.
  Tooltip | Tooltips are common UI elements which are typically used for showing additional information about a Node in the scenegraph when the Node is hovered over by the mouse.
  TreeCell | The `Cell` type used with the `TreeView` control.
  TreeTableCell | Represents a single row/column intersection in a `TreeTableView`.
  TreeTableColumn | A `TreeTableView` is made up of a number of TreeTableColumn instances.
  TreeTableRow | TreeTableRow is an `IndexedCell`, but rarely needs to be used by developers creating TreeTableView instances.
  TreeTableView | The TreeTableView control is designed to visualize an unlimited number of rows of data, broken out into columns.
  TreeView | The TreeView control provides a view on to a tree root (of type `TreeItem`).

- Classes in javafx.scene.control used by javafx.scene.web
  Class | Description
  --- | ---
  Control | Base class for all user interface controls.
  Skin | Base class for defining the visual representation of user interface controls by defining a scene graph of nodes to represent the skin.
  SkinBase | Base implementation class for defining the visual representation of user interface controls by defining a scene graph of nodes to represent the `skin`.
  Skinnable | The Skinnable interface is implemented by the `Control` class, and therefore is implemented by all Control implementations.