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

## Class SynthToolBarUI

- java.lang.Object
- - javax.swing.plaf.ComponentUI
  - - javax.swing.plaf.ToolBarUI
    - - javax.swing.plaf.basic.BasicToolBarUI
      - - javax.swing.plaf.synth.SynthToolBarUI

- All Implemented Interfaces:
    `PropertyChangeListener`, `EventListener`, `SynthConstants`, `SynthUI`, `SwingConstants`

      public class SynthToolBarUI
      extends BasicToolBarUI
      implements PropertyChangeListener, SynthUI

  Provides the Synth L&F UI delegate for `JToolBar`.
  Since:
    1.7

- - ### Nested Class Summary

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

    - ### Fields declared in interface javax.swing.plaf.synth.SynthConstants

      `DEFAULT, DISABLED, ENABLED, FOCUSED, MOUSE_OVER, PRESSED, SELECTED`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SynthToolBarUI()` |

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `protected LayoutManager` | `createLayout()` | Creates a `LayoutManager` to use with the toolbar.
    `static ComponentUI` | `createUI​(JComponent c)` | Creates a new UI object for the given component.
    `void` | `paint​(Graphics g, JComponent c)` | Paints the specified component according to the Look and Feel.
    `protected void` | `paint​(SynthContext context, Graphics g)` | Paints the toolbar.
    `protected void` | `paintContent​(SynthContext context, Graphics g, Rectangle bounds)` | Paints the toolbar content.
    `protected void` | `setBorderToNonRollover​(Component c)` | This implementation does nothing, because the `rollover` property of the `JToolBar` class is not used in the Synth Look and Feel.
    `protected void` | `setBorderToNormal​(Component c)` | This implementation does nothing, because the `rollover` property of the `JToolBar` class is not used in the Synth Look and Feel.
    `protected void` | `setBorderToRollover​(Component c)` | This implementation does nothing, because the `rollover` property of the `JToolBar` class is not used in the Synth Look and Feel.
    `void` | `update​(Graphics g, JComponent c)` | Notifies this UI delegate to repaint the specified component.

    - ### 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, 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, uninstallUI`

    - ### Methods declared in class java.lang.Object

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

    - ### Methods declared in interface java.beans.PropertyChangeListener

      `propertyChange`

    - ### Methods declared in interface javax.swing.plaf.synth.SynthUI

      `getContext, paintBorder`

- - ### Constructor Detail

    - #### SynthToolBarUI

          public SynthToolBarUI()

  - ### Method Detail

    - #### createUI

          public static ComponentUI createUI​(JComponent c)

      Creates a new UI object for the given component.
      Parameters:
        `c` - component to create UI object for
      Returns:
        the UI object

    - #### createLayout

          protected LayoutManager createLayout()

      Creates a `LayoutManager` to use with the toolbar.
      Returns:
        a `LayoutManager` instance

    - #### update

          public void update​(Graphics g,
                             JComponent c)

      Notifies this UI delegate to repaint the specified component. This method paints the component background, then calls the `paint(SynthContext,Graphics)` method.

      In general, this method does not need to be overridden by subclasses. All Look and Feel rendering code should reside in the `paint` method.

      Overrides:
        `update` in class `ComponentUI`
      Parameters:
        `g` - the `Graphics` object used for painting
        `c` - the component being painted
      See Also:
        `paint(SynthContext,Graphics)`

    - #### paint

          public void paint​(Graphics g,
                            JComponent c)

      Paints the specified component according to the Look and Feel.

      This method is not used by Synth Look and Feel. Painting is handled by the `paint(SynthContext,Graphics)` method.

      Overrides:
        `paint` in class `ComponentUI`
      Parameters:
        `g` - the `Graphics` object used for painting
        `c` - the component being painted
      See Also:
        `paint(SynthContext,Graphics)`

    - #### setBorderToNonRollover

          protected void setBorderToNonRollover​(Component c)

      This implementation does nothing, because the `rollover` property of the `JToolBar` class is not used in the Synth Look and Feel.
      Overrides:
        `setBorderToNonRollover` in class `BasicToolBarUI`
      Parameters:
        `c` - component which will have a non-rollover border installed
      See Also:
        `BasicToolBarUI.createNonRolloverBorder()`

    - #### setBorderToRollover

          protected void setBorderToRollover​(Component c)

      This implementation does nothing, because the `rollover` property of the `JToolBar` class is not used in the Synth Look and Feel.
      Overrides:
        `setBorderToRollover` in class `BasicToolBarUI`
      Parameters:
        `c` - component which will have a rollover border installed
      See Also:
        `BasicToolBarUI.createRolloverBorder()`

    - #### setBorderToNormal

          protected void setBorderToNormal​(Component c)

      This implementation does nothing, because the `rollover` property of the `JToolBar` class is not used in the Synth Look and Feel.
      Overrides:
        `setBorderToNormal` in class `BasicToolBarUI`
      Parameters:
        `c` - component which will have a normal border re-installed
      See Also:
        `BasicToolBarUI.createNonRolloverBorder()`

    - #### paint

          protected void paint​(SynthContext context,
                               Graphics g)

      Paints the toolbar.
      Parameters:
        `context` - context for the component being painted
        `g` - the `Graphics` object used for painting
      See Also:
        `update(Graphics,JComponent)`

    - #### paintContent

          protected void paintContent​(SynthContext context,
                                      Graphics g,
                                      Rectangle bounds)

      Paints the toolbar content.
      Parameters:
        `context` - context for the component being painted
        `g` - `Graphics` object used for painting
        `bounds` - bounding box for the toolbar