DefaultMenuLayout (Java SE 9 & JDK 9 )
Keywords: javax.swing.plaf.basic.DefaultMenuLayout class

Module java.desktop
Package javax.swing.plaf.basic

## Class DefaultMenuLayout

- java.lang.Object
- - javax.swing.BoxLayout
  - - javax.swing.plaf.basic.DefaultMenuLayout

- All Implemented Interfaces:
    `LayoutManager`, `LayoutManager2`, `Serializable`, `UIResource`

      public class DefaultMenuLayout
      extends BoxLayout
      implements UIResource

  The default layout manager for Popup menus and menubars. This class is an extension of BoxLayout which adds the UIResource tag so that pluggable L&Fs can distinguish it from user-installed layout managers on menus.
  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class javax.swing.BoxLayout

      `LINE_AXIS, PAGE_AXIS, X_AXIS, Y_AXIS`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `DefaultMenuLayout​(Container target, int axis)` | Constructs a new instance of `DefaultMenuLayout`.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Dimension` | `preferredLayoutSize​(Container target)` | Returns the preferred dimensions for this layout, given the components in the specified target container.

    - ### Methods inherited from class javax.swing.BoxLayout

      `addLayoutComponent, addLayoutComponent, getAxis, getLayoutAlignmentX, getLayoutAlignmentY, getTarget, invalidateLayout, layoutContainer, maximumLayoutSize, minimumLayoutSize, removeLayoutComponent`

    - ### Methods inherited from class java.lang.Object

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

- - ### Constructor Detail

    - #### DefaultMenuLayout

          public DefaultMenuLayout​(Container target,
                                   int axis)

      Constructs a new instance of `DefaultMenuLayout`.
      Parameters:
        `target` - the container that needs to be laid out
        `axis` - the axis to lay out components along. Can be one of: `BoxLayout.X_AXIS`, `BoxLayout.Y_AXIS`, `BoxLayout.LINE_AXIS` or `BoxLayout.PAGE_AXIS`

  - ### Method Detail

    - #### preferredLayoutSize

          public Dimension preferredLayoutSize​(Container target)

      Description copied from class: `BoxLayout`
      Returns the preferred dimensions for this layout, given the components in the specified target container.
      Specified by:
        `preferredLayoutSize` in interface `LayoutManager`
      Overrides:
        `preferredLayoutSize` in class `BoxLayout`
      Parameters:
        `target` - the container that needs to be laid out
      Returns:
        the dimensions >= 0 && <= Integer.MAX_VALUE
      See Also:
        `Container`, `BoxLayout.minimumLayoutSize(java.awt.Container)`, `BoxLayout.maximumLayoutSize(java.awt.Container)`