Module javafx.controls
Package javafx.scene.control

# Interface Skinnable

All Known Implementing Classes:
  `Accordion`, `Button`, `ButtonBar`, `ButtonBase`, `Cell`, `CheckBox`, `CheckBoxListCell`, `CheckBoxTableCell`, `CheckBoxTreeCell`, `CheckBoxTreeTableCell`, `ChoiceBox`, `ChoiceBoxListCell`, `ChoiceBoxTableCell`, `ChoiceBoxTreeCell`, `ChoiceBoxTreeTableCell`, `ColorPicker`, `ComboBox`, `ComboBoxBase`, `ComboBoxListCell`, `ComboBoxTableCell`, `ComboBoxTreeCell`, `ComboBoxTreeTableCell`, `ContextMenu`, `Control`, `DateCell`, `DatePicker`, `HTMLEditor`, `Hyperlink`, `IndexedCell`, `Label`, `Labeled`, `ListCell`, `ListView`, `MenuBar`, `MenuButton`, `Pagination`, `PasswordField`, `PopupControl`, `ProgressBar`, `ProgressBarTableCell`, `ProgressBarTreeTableCell`, `ProgressIndicator`, `RadioButton`, `ScrollBar`, `ScrollPane`, `Separator`, `Slider`, `Spinner`, `SplitMenuButton`, `SplitPane`, `TableCell`, `TableRow`, `TableView`, `TabPane`, `TextArea`, `TextField`, `TextFieldListCell`, `TextFieldTableCell`, `TextFieldTreeCell`, `TextFieldTreeTableCell`, `TextInputControl`, `TitledPane`, `ToggleButton`, `ToolBar`, `Tooltip`, `TreeCell`, `TreeTableCell`, `TreeTableRow`, `TreeTableView`, `TreeView`

    public interface Skinnable

The Skinnable interface is implemented by the `Control` class, and therefore is implemented by all Control implementations.

Since:
  JavaFX 2.0

- ## Property Summary

  Properties
  Type | Property | Description
  --- | --- | ---
  `ObjectProperty<Skin<?>>` | `skin` | Skin is responsible for rendering this `Control`.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `Skin<?>` | `getSkin()` | Returns the skin that renders this `Control`
  `void` | `setSkin​(Skin<?> value)` | Sets the skin that will render this `Control`
  `ObjectProperty<Skin<?>>` | `skinProperty()` | Skin is responsible for rendering this `Control`.

- ## Property Details

  - ### skin

    ObjectProperty<Skin<?>> skinProperty
    Skin is responsible for rendering this `Control`. From the perspective of the `Control`, the `Skin` is a black box. It listens and responds to changes in state in a `Control`.

    There is a one-to-one relationship between a `Control` and its `Skin`. Every `Skin` maintains a back reference to the `Control`.

    A skin may be null.

    See Also:
      `getSkin()`, `setSkin(Skin)`

- ## Method Details

  - ### skinProperty

    ObjectProperty<Skin<?>> skinProperty()
    Skin is responsible for rendering this `Control`. From the perspective of the `Control`, the `Skin` is a black box. It listens and responds to changes in state in a `Control`.

    There is a one-to-one relationship between a `Control` and its `Skin`. Every `Skin` maintains a back reference to the `Control`.

    A skin may be null.

    See Also:
      `getSkin()`, `setSkin(Skin)`

  - ### setSkin

    void setSkin​(Skin<?> value)
    Sets the skin that will render this `Control`
    Parameters:
      `value` - the skin value for this control

  - ### getSkin

    Skin<?> getSkin()
    Returns the skin that renders this `Control`
    Returns:
      the skin for this control