# Uses of Interface
javafx.scene.control.Skinnable

Packages that use Skinnable
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.web | This package provides means for loading and displaying Web content.

- ## Uses of Skinnable in javafx.scene.control

  Classes in javafx.scene.control with type parameters of type Skinnable
  Modifier and Type | Interface | Description
  --- | --- | ---
  `interface` | `Skin<C extends Skinnable>` | Base class for defining the visual representation of user interface controls by defining a scene graph of nodes to represent the skin.

  Classes in javafx.scene.control that implement Skinnable
  Modifier and Type | Class | Description
  --- | --- | ---
  `class` | `Accordion` | An accordion is a group of `TitlePanes`.
  `class` | `Button` | A simple button control.
  `class` | `ButtonBar` | A ButtonBar is essentially a `HBox`, with the additional functionality for operating system specific button placement.
  `class` | `ButtonBase` | Base class for button-like UI Controls, including Hyperlinks, Buttons, ToggleButtons, CheckBoxes, and RadioButtons.
  `class` | `Cell<T>` | The Cell API is used for virtualized controls such as `ListView`, `TreeView`, and `TableView`.
  `class` | `CheckBox` | A tri-state selection Control typically skinned as a box with a checkmark or tick mark when checked.
  `class` | `ChoiceBox<T>` | The ChoiceBox is used for presenting the user with a relatively small set of predefined choices from which they may choose.
  `class` | `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.
  `class` | `ComboBox<T>` | 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.
  `class` | `ComboBoxBase<T>` | Abstract base class for ComboBox-like controls.
  `class` | `ContextMenu` | A popup control containing an ObservableList of menu items.
  `class` | `Control` | Base class for all user interface controls.
  `class` | `DateCell` | DateCell is used by `DatePicker` to render the individual grid cells in the calendar month.
  `class` | `DatePicker` | The DatePicker control allows the user to enter a date as text or to select a date from a calendar popup.
  `class` | `Hyperlink` | An HTML like label which can be a graphic and/or text which responds to rollovers and clicks.
  `class` | `IndexedCell<T>` | An implementation of `Cell` which contains an index property which maps into the data model underlying the visualization.
  `class` | `Label` | Label is a non-editable text control.
  `class` | `Labeled` | A Labeled `Control` is one which has as part of its user interface a textual content associated with it.
  `class` | `ListCell<T>` | The `Cell` type used within `ListView` instances.
  `class` | `ListView<T>` | A ListView displays a horizontal or vertical list of items from which the user may select, or with which the user may interact.
  `class` | `MenuBar` | A MenuBar control traditionally is placed at the very top of the user interface, and embedded within it are `Menus`.
  `class` | `MenuButton` | MenuButton is a button which, when clicked or pressed, will show a `ContextMenu`.
  `class` | `Pagination` | A Pagination control is used for navigation between pages of a single content, which has been divided into smaller parts.
  `class` | `PasswordField` | Text field that masks entered characters.
  `class` | `PopupControl` | An extension of PopupWindow that allows for CSS styling.
  `class` | `ProgressBar` | A specialization of the ProgressIndicator which is represented as a horizontal bar.
  `class` | `ProgressIndicator` | A circular control which is used for indicating progress, either infinite (aka indeterminate) or finite.
  `class` | `RadioButton` | RadioButtons create a series of items where only one item can be selected.
  `class` | `ScrollBar` | Either a horizontal or vertical bar with increment and decrement buttons and a "thumb" with which the user can interact.
  `class` | `ScrollPane` | A Control that provides a scrolled, clipped viewport of its contents.
  `class` | `Separator` | A horizontal or vertical separator line.
  `class` | `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.
  `class` | `Spinner<T>` | A single line text field that lets the user select a number or an object value from an ordered sequence.
  `class` | `SplitMenuButton` | The SplitMenuButton, like the `MenuButton` is closely associated with the concept of selecting a `MenuItem` from a menu.
  `class` | `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.
  `class` | `TableCell<S,​T>` | Represents a single row/column intersection in a `TableView`.
  `class` | `TableRow<T>` | TableRow is an `IndexedCell`, but rarely needs to be used by developers creating TableView instances.
  `class` | `TableView<S>` | The TableView control is designed to visualize an unlimited number of rows of data, broken out into columns.
  `class` | `TabPane` | A control that allows switching between a group of `Tabs`.
  `class` | `TextArea` | Text input component that allows a user to enter multiple lines of plain text.
  `class` | `TextField` | Text input component that allows a user to enter a single line of unformatted text.
  `class` | `TextInputControl` | Abstract base class for text input controls.
  `class` | `TitledPane` | A TitledPane is a panel with a title that can be opened and closed.
  `class` | `ToggleButton` | A `ToggleButton` is a specialized control which has the ability to be selected.
  `class` | `ToolBar` | A ToolBar is a control which displays items horizontally or vertically.
  `class` | `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.
  `class` | `TreeCell<T>` | The `Cell` type used with the `TreeView` control.
  `class` | `TreeTableCell<S,​T>` | Represents a single row/column intersection in a `TreeTableView`.
  `class` | `TreeTableRow<T>` | TreeTableRow is an `IndexedCell`, but rarely needs to be used by developers creating TreeTableView instances.
  `class` | `TreeTableView<S>` | The TreeTableView control is designed to visualize an unlimited number of rows of data, broken out into columns.
  `class` | `TreeView<T>` | The TreeView control provides a view on to a tree root (of type `TreeItem`).

- ## Uses of Skinnable in javafx.scene.control.cell

  Classes in javafx.scene.control.cell that implement Skinnable
  Modifier and Type | Class | Description
  --- | --- | ---
  `class` | `CheckBoxListCell<T>` | A class containing a `ListCell` implementation that draws a `CheckBox` node inside the cell, optionally with a label to indicate what the checkbox represents.
  `class` | `CheckBoxTableCell<S,​T>` | A class containing a `TableCell` implementation that draws a `CheckBox` node inside the cell, optionally with a label to indicate what the checkbox represents.
  `class` | `CheckBoxTreeCell<T>` | A class containing a `TreeCell` implementation that draws a `CheckBox` node inside the cell, along with support for common interactions (discussed in more depth shortly).
  `class` | `CheckBoxTreeTableCell<S,​T>` | A class containing a `TreeTableCell` implementation that draws a `CheckBox` node inside the cell, optionally with a label to indicate what the checkbox represents.
  `class` | `ChoiceBoxListCell<T>` | A class containing a `ListCell` implementation that draws a `ChoiceBox` node inside the cell.
  `class` | `ChoiceBoxTableCell<S,​T>` | A class containing a `TableCell` implementation that draws a `ChoiceBox` node inside the cell.
  `class` | `ChoiceBoxTreeCell<T>` | A class containing a `ListCell` implementation that draws a `ChoiceBox` node inside the cell.
  `class` | `ChoiceBoxTreeTableCell<S,​T>` | A class containing a `TreeTableCell` implementation that draws a `ChoiceBox` node inside the cell.
  `class` | `ComboBoxListCell<T>` | A class containing a `ListCell` implementation that draws a `ComboBox` node inside the cell.
  `class` | `ComboBoxTableCell<S,​T>` | A class containing a `TableCell` implementation that draws a `ComboBox` node inside the cell.
  `class` | `ComboBoxTreeCell<T>` | A class containing a `TreeCell` implementation that draws a `ComboBox` node inside the cell.
  `class` | `ComboBoxTreeTableCell<S,​T>` | A class containing a `TreeTableCell` implementation that draws a `ComboBox` node inside the cell.
  `class` | `ProgressBarTableCell<S>` | A class containing a `TableCell` implementation that draws a `ProgressBar` node inside the cell.
  `class` | `ProgressBarTreeTableCell<S>` | A class containing a `TreeTableCell` implementation that draws a `ProgressBar` node inside the cell.
  `class` | `TextFieldListCell<T>` | A class containing a `ListCell` implementation that draws a `TextField` node inside the cell.
  `class` | `TextFieldTableCell<S,​T>` | A class containing a `TableCell` implementation that draws a `TextField` node inside the cell.
  `class` | `TextFieldTreeCell<T>` | A class containing a `TreeCell` implementation that draws a `TextField` node inside the cell.
  `class` | `TextFieldTreeTableCell<S,​T>` | A class containing a `TableCell` implementation that draws a `TextField` node inside the cell.

- ## Uses of Skinnable in javafx.scene.web

  Classes in javafx.scene.web that implement Skinnable
  Modifier and Type | Class | Description
  --- | --- | ---
  `class` | `HTMLEditor` | A control that allows for users to edit text, and apply styling to this text.