# Class MetalMenuBarUI

java.lang.Object
javax.swing.plaf.ComponentUI
javax.swing.plaf.MenuBarUI
javax.swing.plaf.basic.BasicMenuBarUI
javax.swing.plaf.metal.MetalMenuBarUI

public class MetalMenuBarUI extends BasicMenuBarUI
Metal implementation of `MenuBarUI`. This class is responsible for providing the metal look and feel for `JMenuBar`s.

Since:
  1.5
See Also:
  - `MenuBarUI`

## Field Summary

### Fields declared in class BasicMenuBarUI

`changeListener, containerListener, menuBar`

## Constructor Summary

Constructors
Constructor
Description
`MetalMenuBarUI()`
Constructs a `MetalMenuBarUI`.

## Method Summary

Modifier and Type
Method
Description
`static ComponentUI`
`createUI(JComponent x)`
Creates the `ComponentUI` implementation for the passed in component.
`void`
`installUI(JComponent c)`
Configures the specified component appropriate for the metal look and feel.
`void`
`uninstallUI(JComponent c)`
Reverses configuration which was done on the specified component during `installUI`.
`void`
`update(Graphics g, JComponent c)`
If necessary paints the background of the component, then invokes `paint`.

### Methods declared in class BasicMenuBarUI

`createChangeListener, createContainerListener, installDefaults, installKeyboardActions, installListeners, uninstallDefaults, uninstallKeyboardActions, uninstallListeners`

### Methods declared in class ComponentUI

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

### Methods declared in class Object

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

## Constructor Details

### MetalMenuBarUI

public MetalMenuBarUI()
Constructs a `MetalMenuBarUI`.

## Method Details

### createUI

public static ComponentUI createUI(JComponent x)
Creates the `ComponentUI` implementation for the passed in component.

Parameters:
  `x` - JComponent to create the ComponentUI implementation for
Returns:
  ComponentUI implementation for `x`
Throws:
  `NullPointerException` - if `x` is null

### installUI

public void installUI(JComponent c)
Configures the specified component appropriate for the metal look and feel.

Overrides:
  `installUI` in class `ComponentUI`
Parameters:
  `c` - the component where this UI delegate is being installed
Throws:
  `NullPointerException` - if `c` is null.
See Also:
  - `ComponentUI.uninstallUI(JComponent)`
  - `JComponent.setUI(ComponentUI)`
  - `JComponent.updateUI()`

### uninstallUI

public void uninstallUI(JComponent c)
Reverses configuration which was done on the specified component during `installUI`.

Overrides:
  `uninstallUI` in class `ComponentUI`
Parameters:
  `c` - the component where this UI delegate is being installed
Throws:
  `NullPointerException` - if `c` is null.
See Also:
  - `ComponentUI.installUI(JComponent)`
  - `JComponent.updateUI()`

### update

public void update(Graphics g, JComponent c)
If necessary paints the background of the component, then invokes `paint`.

Overrides:
  `update` in class `ComponentUI`
Parameters:
  `g` - Graphics to paint to
  `c` - JComponent painting on
Throws:
  `NullPointerException` - if `g` or `c` is null
Since:
  1.5
See Also:
  - `ComponentUI.update(Graphics, JComponent)`
  - `ComponentUI.paint(Graphics, JComponent)`