# Class ContextMenuSkin

java.lang.Object
javafx.scene.control.skin.ContextMenuSkin

All Implemented Interfaces:
  `Skin<ContextMenu>`

public class ContextMenuSkin extends Object implements Skin<ContextMenu>
Default Skin implementation for ContextMenu. Several controls use ContextMenu in order to display items in a drop down. This class mostly deals mostly with show / hide logic - the actual content of the context menu is contained within the `root node`.

Since:
  9
See Also:
  - `ContextMenu`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ContextMenuSkin(ContextMenu control)`
  Creates a new ContextMenuSkin instance.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `dispose()`
  Called when a previously installed skin is about to be removed from its associated control.
  `Node`
  `getNode()`
  Gets the Node which represents this Skin.
  `ContextMenu`
  `getSkinnable()`
  Gets the Skinnable to which this Skin is assigned.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods declared in interface Skin

  `install`

- ## Constructor Details

  - ### ContextMenuSkin

    public ContextMenuSkin(ContextMenu control)
    Creates a new ContextMenuSkin instance.
    Parameters:
      `control` - The control that this skin should be installed onto.

- ## Method Details

  - ### getSkinnable

    public ContextMenu 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 `Skin.dispose()`.

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

    Specified by:
      `getSkinnable` in interface `Skin<ContextMenu>`
    Returns:
      A non-null Skinnable, or null value if disposed.

  - ### getNode

    public Node getNode()
    Gets the Node which represents this Skin. This must never be null, except after a call to `Skin.dispose()`, and must never change except when changing to null.
    Specified by:
      `getNode` in interface `Skin<ContextMenu>`
    Returns:
      A non-null Node, except when the Skin has been disposed.

  - ### dispose

    public 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, `Skin.getSkinnable()` and `Skin.getNode()` should return `null`.

    Calling `Skin.dispose()` more than once has no effect.

    Specified by:
      `dispose` in interface `Skin<ContextMenu>`