MenuBarSkin (JavaFX 17)

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

## Class MenuBarSkin

- java.lang.Object
- - javafx.scene.control.SkinBase<MenuBar>
  - - javafx.scene.control.skin.MenuBarSkin

- All Implemented Interfaces:
    `Skin<MenuBar>`

      public class MenuBarSkin
      extends SkinBase<MenuBar>

  Default skin implementation for the `MenuBar` control. In essence it is a simple toolbar. For the time being there is no overflow behavior and we just hide nodes which fall outside the bounds.
  Since:
    9
  See Also:
    `MenuBar`

- - ### Property Summary

    Properties
    Type | Property | Description
    --- | --- | ---
    `ObjectProperty<Pos>` | `containerAlignment` | Specifies the alignment of the menu buttons inside the MenuBar (by default it is Pos.TOP_LEFT).
    `DoubleProperty` | `spacing` | Specifies the spacing between menu buttons on the MenuBar.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `MenuBarSkin​(MenuBar control)` | Creates a new MenuBarSkin instance, installing the necessary child nodes into the Control `children` list, as well as the necessary input mappings for handling key, mouse, etc events.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `ObjectProperty<Pos>` | `containerAlignmentProperty()` | Specifies the alignment of the menu buttons inside the MenuBar (by default it is Pos.TOP_LEFT).
    `static List<CssMetaData<? extends Styleable,​?>>` | `getClassCssMetaData()` | Returns the CssMetaData associated with this class, which may include the CssMetaData of its superclasses.
    `Pos` | `getContainerAlignment()` | Gets the value of the property containerAlignment.
    `double` | `getSpacing()` | Gets the value of the property spacing.
    `void` | `setContainerAlignment​(Pos value)` | Sets the value of the property containerAlignment.
    `static void` | `setDefaultSystemMenuBar​(MenuBar menuBar)` | Set the default system menu bar.
    `void` | `setSpacing​(double value)` | Sets the value of the property spacing.
    `DoubleProperty` | `spacingProperty()` | Specifies the spacing between menu buttons on the MenuBar.

    - ### Methods declared in class javafx.scene.control.SkinBase

      `computeBaselineOffset, computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, consumeMouseEvents, executeAccessibleAction, getChildren, getCssMetaData, layoutChildren, layoutInArea, layoutInArea, layoutInArea, positionInArea, positionInArea, pseudoClassStateChanged, queryAccessibleAttribute, registerChangeListener, registerInvalidationListener, registerListChangeListener, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, unregisterChangeListeners, unregisterInvalidationListeners, unregisterListChangeListeners`

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

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

    - ### Methods declared in interface javafx.scene.control.Skin

      `dispose, getNode, getSkinnable`

- - ### Property Detail

    - #### spacing

          public final DoubleProperty spacingProperty

      Specifies the spacing between menu buttons on the MenuBar.
      See Also:
        `getSpacing()`, `setSpacing(double)`

    - #### containerAlignment

          public final ObjectProperty<Pos> containerAlignmentProperty

      Specifies the alignment of the menu buttons inside the MenuBar (by default it is Pos.TOP_LEFT).
      See Also:
        `getContainerAlignment()`, `setContainerAlignment(Pos)`

  - ### Constructor Detail

    - #### MenuBarSkin

          public MenuBarSkin​(MenuBar control)

      Creates a new MenuBarSkin instance, installing the necessary child nodes into the Control `children` list, as well as the necessary input mappings for handling key, mouse, etc events.
      Parameters:
        `control` - The control that this skin should be installed onto.

  - ### Method Detail

    - #### setDefaultSystemMenuBar

          public static void setDefaultSystemMenuBar​(MenuBar menuBar)

      Set the default system menu bar. This allows an application to keep menu in the system menu bar after the last Window is closed.
      Parameters:
        `menuBar` - the menu bar

    - #### setSpacing

          public final void setSpacing​(double value)

      Sets the value of the property spacing.
      Property description:
        Specifies the spacing between menu buttons on the MenuBar.

    - #### getSpacing

          public final double getSpacing()

      Gets the value of the property spacing.
      Property description:
        Specifies the spacing between menu buttons on the MenuBar.

    - #### spacingProperty

          public final DoubleProperty spacingProperty()

      Specifies the spacing between menu buttons on the MenuBar.
      See Also:
        `getSpacing()`, `setSpacing(double)`

    - #### setContainerAlignment

          public final void setContainerAlignment​(Pos value)

      Sets the value of the property containerAlignment.
      Property description:
        Specifies the alignment of the menu buttons inside the MenuBar (by default it is Pos.TOP_LEFT).

    - #### getContainerAlignment

          public final Pos getContainerAlignment()

      Gets the value of the property containerAlignment.
      Property description:
        Specifies the alignment of the menu buttons inside the MenuBar (by default it is Pos.TOP_LEFT).

    - #### containerAlignmentProperty

          public final ObjectProperty<Pos> containerAlignmentProperty()

      Specifies the alignment of the menu buttons inside the MenuBar (by default it is Pos.TOP_LEFT).
      See Also:
        `getContainerAlignment()`, `setContainerAlignment(Pos)`

    - #### getClassCssMetaData

          public static List<CssMetaData<? extends Styleable,​?>> getClassCssMetaData()

      Returns the CssMetaData associated with this class, which may include the CssMetaData of its superclasses.
      Returns:
        the CssMetaData associated with this class, which may include the CssMetaData of its superclasses