BasicMenuUI (Java SE 14 & JDK 14)
Description: declaration: module: java.desktop, package: javax.swing.plaf.basic, class: BasicMenuUI
Keywords: javax.swing.plaf.basic.BasicMenuUI class

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

  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 Details

  - ### changeListener

    protected ChangeListener changeListener
    The instance of `ChangeListener`.

  - ### menuListener

    protected MenuListener menuListener
    The instance of `MenuListener`.

- ## Constructor Details

  - ### BasicMenuUI

    public BasicMenuUI()

- ## Method Details

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