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

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    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 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)`