Interface Skin<C extends Skinnable>

Type Parameters:
C - A subtype of Skinnable that the Skin represents. This allows for Skin implementation to access the Skinnable implementation, which is usually a Control implementation.
All Known Implementing Classes:
AccordionSkin, ButtonBarSkin, ButtonSkin, CellSkinBase, CheckBoxSkin, ChoiceBoxSkin, ColorPickerSkin, ComboBoxBaseSkin, ComboBoxListViewSkin, ComboBoxPopupControl, ContextMenuSkin, DateCellSkin, DatePickerSkin, HTMLEditorSkin, HyperlinkSkin, LabeledSkinBase, LabelSkin, ListCellSkin, ListViewSkin, MenuBarSkin, MenuButtonSkin, MenuButtonSkinBase, PaginationSkin, ProgressBarSkin, ProgressIndicatorSkin, RadioButtonSkin, ScrollBarSkin, ScrollPaneSkin, SeparatorSkin, SkinBase, SliderSkin, SpinnerSkin, SplitMenuButtonSkin, SplitPaneSkin, TableCellSkin, TableCellSkinBase, TableRowSkin, TableRowSkinBase, TableViewSkin, TableViewSkinBase, TabPaneSkin, TextAreaSkin, TextFieldSkin, TextInputControlSkin, TitledPaneSkin, ToggleButtonSkin, ToolBarSkin, TooltipSkin, TreeCellSkin, TreeTableCellSkin, TreeTableRowSkin, TreeTableViewSkin, TreeViewSkin, VirtualContainerBase

public interface Skin<C extends Skinnable>
An interface for defining the visual representation of user interface controls.

A Skin implementation should generally avoid modifying its control outside of install() method. The life cycle of a Skin implementation is as follows:

  • instantiation
  • configuration, such as passing of dependencies and parameters
  • when the skin is set on a Skinnable:
    • uninstalling of the old skin via its dispose() method
    • installing of the new skin via install()
Since:
JavaFX 2.0
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Called when a previously installed skin is about to be removed from its associated control.
    Gets the Node which represents this Skin.
    Gets the Skinnable to which this Skin is assigned.
    default void
    Called once when Skin is set.
  • Method Details

    • getSkinnable

      C getSkinnable()
      Gets the Skinnable to which this Skin is assigned. A Skin must be created for one and only one Skinnable. This value will only ever go from a non-null to null value when the Skin is removed from the Skinnable, and only as a consequence of a call to dispose().

      The caller who constructs a Skinnable must also construct a Skin and properly establish the relationship between the Control and its Skin.

      Returns:
      A non-null Skinnable, or null value if disposed.
    • getNode

      Node getNode()
      Gets the Node which represents this Skin. This must never be null, except after a call to dispose(), and must never change except when changing to null.
      Returns:
      A non-null Node, except when the Skin has been disposed.
    • install

      default void install()
      Called once when Skin is set. This method is called after the previous skin, if any, has been uninstalled via its dispose() method. The skin can now safely make changes to its associated control, like registering listeners, adding child nodes, and modifying properties and event handlers.

      Application code must not call this method.

      The default implementation of this method does nothing.

      Implementation Note:
      Skins only need to implement install if they need to make direct changes to the control like overwriting properties or event handlers. Such skins should ensure these changes are undone in their dispose() method.
      Since:
      20
    • dispose

      void dispose()
      Called when a previously installed skin is about to be removed from its associated control. This allows the skin to do clean up, like removing listeners and bindings, and undo any changes to the control's properties. After this method completes, getSkinnable() and getNode() should return null.

      Calling dispose() more than once has no effect.