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

## Class BasicMenuUI

- java.lang.Object
- - javax.swing.plaf.ComponentUI
  - - javax.swing.plaf.ButtonUI
    - - javax.swing.plaf.MenuItemUI
      - - javax.swing.plaf.basic.BasicMenuItemUI
        - - javax.swing.plaf.basic.BasicMenuUI

- Direct Known Subclasses:
    `SynthMenuUI`

      public class BasicMenuUI
      extends BasicMenuItemUI

  A default L&F implementation of MenuUI. This implementation is a "combined" view/controller.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `BasicMenuUI.ChangeHandler` | As of Java 2 platform 1.4, this previously undocumented class is now obsolete.
    `protected class` | `BasicMenuUI.MouseInputHandler` | Instantiated and used by a menu item to handle the current menu selection from mouse events.

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected ChangeListener` | `changeListener` | The instance of `ChangeListener`.
    `protected MenuListener` | `menuListener` | The instance of `MenuListener`.

    - ### Fields declared in class javax.swing.plaf.basic.BasicMenuItemUI

      `acceleratorDelimiter, acceleratorFont, acceleratorForeground, acceleratorSelectionForeground, arrowIcon, checkIcon, defaultTextIconGap, disabledForeground, menuDragMouseListener, menuItem, menuKeyListener, mouseInputListener, oldBorderPainted, propertyChangeListener, selectionBackground, selectionForeground`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `BasicMenuUI()` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected ChangeListener` | `createChangeListener​(JComponent c)` | Returns an instance of `ChangeListener`.
    `protected MenuListener` | `createMenuListener​(JComponent c)` | Returns an instance of `MenuListener`.
    `static ComponentUI` | `createUI​(JComponent x)` | Constructs a new instance of `BasicMenuUI`.
    `protected void` | `setupPostTimer​(JMenu menu)` | Sets timer to the `menu`.

    - ### Methods declared in class javax.swing.plaf.basic.BasicMenuItemUI

      `createMenuDragMouseListener, createMenuKeyListener, createMouseInputListener, createPropertyChangeListener, doClick, getPath, getPreferredMenuItemSize, getPropertyPrefix, installComponents, installDefaults, installKeyboardActions, installListeners, paintBackground, paintMenuItem, paintText, uninstallComponents, uninstallDefaults, uninstallKeyboardActions, uninstallListeners, update`

    - ### Methods declared in class javax.swing.plaf.ComponentUI

      `contains, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior, getMaximumSize, getMinimumSize, getPreferredSize, installUI, paint, uninstallUI`

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

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

- - ### Field Detail

    - #### changeListener

          protected ChangeListener changeListener

      The instance of `ChangeListener`.

    - #### menuListener

          protected MenuListener menuListener

      The instance of `MenuListener`.

  - ### Constructor Detail

    - #### BasicMenuUI

          public BasicMenuUI()

  - ### Method Detail

    - #### createUI

          public static ComponentUI createUI​(JComponent x)

      Constructs a new instance of `BasicMenuUI`.
      Parameters:
        `x` - a component
      Returns:
        a new instance of `BasicMenuUI`

    - #### createMenuListener

          protected MenuListener createMenuListener​(JComponent c)

      Returns an instance of `MenuListener`.
      Parameters:
        `c` - a component
      Returns:
        an instance of `MenuListener`

    - #### createChangeListener

          protected ChangeListener createChangeListener​(JComponent c)

      Returns an instance of `ChangeListener`.
      Parameters:
        `c` - a component
      Returns:
        an instance of `ChangeListener`

    - #### setupPostTimer

          protected void setupPostTimer​(JMenu menu)

      Sets timer to the `menu`.
      Parameters:
        `menu` - an instance of `JMenu`.