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 Detail

    - #### 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 Detail

    - #### 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