BasicMenuUI (Java SE 22 & JDK 22)
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()`
  Constructs a `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()
    Constructs a `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`.