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)`
  - `skinProperty()`

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

Returns:
  the skin property for this control
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