DefaultMenuLayout (Java Platform SE 8 )
Keywords: javax.swing.plaf.basic.DefaultMenuLayout class
Date: 2026-01-21

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.

- - ### Field Summary

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

      `LINE_AXIS, PAGE_AXIS, X_AXIS, Y_AXIS`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DefaultMenuLayout(Container target, int axis)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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)

  - ### 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)`

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.