# 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
Modifier and Type
Class
Description
`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
Modifier and Type
Field
Description
`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
Constructor
Description
`MetalToolBarUI()`
Constructs a `MetalToolBarUI`.

## Method Summary

Modifier and Type
Method
Description
`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 Details

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

### MetalToolBarUI

public MetalToolBarUI()
Constructs a `MetalToolBarUI`.

## Method Details

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