PopupMenuLayout (JGoodies Looks 2.6 API)
Date: 2014-02-27

com.jgoodies.looks.common

## Class PopupMenuLayout

- java.lang.Object
- - javax.swing.BoxLayout
  - - com.jgoodies.looks.common.PopupMenuLayout

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

      public final class PopupMenuLayout
      extends BoxLayout
      implements UIResource

  The JGoodies implementation of a layout manager for Popup menus. In comparison to the JDK's implementation it flushes the values of the client properties `maxTextWidth` and `maxAccWidth` in the method `invalidateLayout(Container)` and not in the method `BoxLayout.preferredLayoutSize(Container)`.
  Version:
    $Revision: 1.8 $
  Author:
    Karsten Lentzsch
  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 and Description
    `PopupMenuLayout(Container target, int axis)` Creates a layout manager that will lay out components along the given axis.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `invalidateLayout(Container target)` Indicates that a child has changed its layout related information, and thus any cached calculations should be flushed.

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

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

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

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

- - ### Constructor Detail

    - #### PopupMenuLayout

          public PopupMenuLayout(Container target,
                         int axis)

      Creates a layout manager that will lay out components along the given axis.
      Parameters:
        `target` - the container that needs to be laid out
        `axis` - the axis to lay out components along

  - ### Method Detail

    - #### invalidateLayout

          public void invalidateLayout(Container target)

      Indicates that a child has changed its layout related information, and thus any cached calculations should be flushed.

      In case the target is an instance of JPopupMenu it flushes the values of the client properties `maxTextWidth` and `maxAccWidth`.

      Specified by:
        `invalidateLayout` in interface `LayoutManager2`
      Overrides:
        `invalidateLayout` in class `BoxLayout`
      Parameters:
        `target` - the affected container

Copyright © 2001-2014 JGoodies Software GmbH. All Rights Reserved.