Module javafx.controls
Package javafx.scene.control.skin

# 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 by a Skinnable when the Skin is replaced on the Skinnable.
  `Node`
  `getNode()`
  Gets the Node which represents this Skin.
  `ContextMenu`
  `getSkinnable()`
  Gets the Skinnable to which this Skin is assigned.

  ### Methods declared in class java.lang.Object

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

- ## 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 by a Skinnable when the Skin is replaced on the Skinnable. This method allows a Skin to implement any logic necessary to clean up itself after the Skin is no longer needed. It may be used to release native resources. The methods `Skin.getSkinnable()` and `Skin.getNode()` should return null following a call to dispose. Calling dispose twice has no effect.
    Specified by:
      `dispose` in interface `Skin<ContextMenu>`