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

## Class MetalToolBarUI

- java.lang.Object
- - javax.swing.plaf.ComponentUI
  - - javax.swing.plaf.ToolBarUI
    - - javax.swing.plaf.basic.BasicToolBarUI
      - - javax.swing.plaf.metal.MetalToolBarUI

All Implemented Interfaces:
  `SwingConstants`

    public class MetalToolBarUI
    extends BasicToolBarUI

A Metal Look and Feel implementation of ToolBarUI. This implementation is a "combined" view/controller.

### Nested Class Summary

Nested Classes
`protected class` `MetalToolBarUI.MetalContainerListener` No longer used.
`protected class` `MetalToolBarUI.MetalDockingListener` `DockingListener` for `MetalToolBarUI`.
`protected class` `MetalToolBarUI.MetalRolloverListener` No longer used.

### Nested classes/interfaces declared in class javax.swing.plaf.basic.BasicToolBarUI

`BasicToolBarUI.DockingListener, BasicToolBarUI.DragWindow, BasicToolBarUI.FrameListener, BasicToolBarUI.PropertyListener, BasicToolBarUI.ToolBarContListener, BasicToolBarUI.ToolBarFocusListener`

### Field Summary

Fields
`protected ContainerListener` `contListener` This protected field is implementation specific.
`protected PropertyChangeListener` `rolloverListener` This protected field is implementation specific.

### Fields declared in class javax.swing.plaf.basic.BasicToolBarUI

`constraintBeforeFloating, dockingBorderColor, dockingColor, dockingListener, downKey, dragWindow, floatingBorderColor, floatingColor, focusedCompIndex, leftKey, propertyListener, rightKey, toolBar, toolBarContListener, toolBarFocusListener, upKey`

### Fields declared in interface javax.swing.SwingConstants

`BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST`

### Constructor Summary

Constructors
`MetalToolBarUI()`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`protected ContainerListener` `createContainerListener()` Creates a container listener that will be added to the JToolBar.
`protected PropertyChangeListener` `createRolloverListener()` Creates a property change listener that will be added to the JToolBar.
`static ComponentUI` `createUI​(JComponent c)` Constructs an instance of `MetalToolBarUI`.
`protected void` `setDragOffset​(Point p)` Sets the offset of the mouse cursor inside the DragWindow.
`void` `update​(Graphics g, JComponent c)` If necessary paints the background of the component, then invokes `paint`.

### Methods declared in class javax.swing.plaf.basic.BasicToolBarUI

`canDock, createDockingListener, createDragWindow, createFloatingFrame, createFloatingWindow, createFrameListener, createNonRolloverBorder, createPropertyListener, createRolloverBorder, createToolBarContListener, createToolBarFocusListener, dragTo, floatAt, getDockingColor, getFloatingColor, getNonRolloverBorder, getRolloverBorder, installComponents, installDefaults, installKeyboardActions, installListeners, installNonRolloverBorders, installNormalBorders, installRolloverBorders, isFloating, isRolloverBorders, navigateFocusedComp, paintDragWindow, setBorderToNonRollover, setBorderToNormal, setBorderToRollover, setDockingColor, setFloating, setFloatingColor, setFloatingLocation, setOrientation, setRolloverBorders, uninstallComponents, uninstallDefaults, uninstallKeyboardActions, uninstallListeners`

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

#### contListener

    protected ContainerListener contListener

This protected field is implementation specific. Do not access directly or override. Use the create method instead.

See Also:
  `createContainerListener()`

#### rolloverListener

    protected PropertyChangeListener rolloverListener

This protected field is implementation specific. Do not access directly or override. Use the create method instead.

See Also:
  `createRolloverListener()`

### Constructor Detail

#### MetalToolBarUI

    public MetalToolBarUI()

### Method Detail

#### createUI

    public static ComponentUI createUI​(JComponent c)

Constructs an instance of `MetalToolBarUI`.

Parameters:
  `c` - a component
Returns:
  an instance of `MetalToolBarUI`

#### createContainerListener

    protected ContainerListener createContainerListener()

Creates a container listener that will be added to the JToolBar. If this method returns null then it will not be added to the toolbar.

Returns:
  an instance of a `ContainerListener` or null

#### createRolloverListener

    protected PropertyChangeListener createRolloverListener()

Creates a property change listener that will be added to the JToolBar. If this method returns null then it will not be added to the toolbar.

Returns:
  an instance of a `PropertyChangeListener` or null

#### setDragOffset

    protected void setDragOffset​(Point p)

Sets the offset of the mouse cursor inside the DragWindow.

Parameters:
  `p` - the offset

#### 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(java.awt.Graphics, javax.swing.JComponent)`, `ComponentUI.paint(java.awt.Graphics, javax.swing.JComponent)`