SynthToolBarUI (Java Platform SE 8 )
Keywords: javax.swing.plaf.synth.SynthToolBarUI class
Date: 2026-03-16

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 inherited from class javax.swing.plaf.basic.BasicToolBarUI

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

  - ### Field Summary

    - ### Fields inherited from class javax.swing.plaf.basic.BasicToolBarUI

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

    - ### Fields inherited from interface javax.swing.plaf.synth.SynthConstants

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

    - ### Fields inherited from 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 and Description
    `SynthToolBarUI()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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.
    `SynthContext` | `getContext(JComponent c)` Returns the Context for the specified component.
    `protected void` | `installComponents()`
    `protected void` | `installDefaults()`
    `protected void` | `installListeners()`
    `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.
    `void` | `paintBorder(SynthContext context, Graphics g, int x, int y, int w, int h)` Paints the border.
    `protected void` | `paintContent(SynthContext context, Graphics g, Rectangle bounds)` Paints the toolbar content.
    `protected void` | `paintDragWindow(Graphics g)` Paints the contents of the window used for dragging.
    `void` | `propertyChange(PropertyChangeEvent e)` This method gets called when a bound property is changed.
    `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.
    `protected void` | `uninstallComponents()`
    `protected void` | `uninstallDefaults()`
    `protected void` | `uninstallListeners()`
    `void` | `update(Graphics g, JComponent c)` Notifies this UI delegate to repaint the specified component.

    - ### Methods inherited from class javax.swing.plaf.basic.BasicToolBarUI

      `canDock, createDockingListener, createDragWindow, createFloatingFrame, createFloatingWindow, createFrameListener, createNonRolloverBorder, createPropertyListener, createRolloverBorder, createToolBarContListener, createToolBarFocusListener, dragTo, floatAt, getDockingColor, getFloatingColor, getNonRolloverBorder, getRolloverBorder, installKeyboardActions, installNonRolloverBorders, installNormalBorders, installRolloverBorders, installUI, isFloating, isRolloverBorders, navigateFocusedComp, setDockingColor, setFloating, setFloatingColor, setFloatingLocation, setOrientation, setRolloverBorders, uninstallKeyboardActions, uninstallUI`

    - ### Methods inherited from class javax.swing.plaf.ComponentUI

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

    - ### Methods inherited from class java.lang.Object

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

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

    - #### installDefaults

          protected void installDefaults()

      Overrides:
        `installDefaults` in class `BasicToolBarUI`

    - #### installListeners

          protected void installListeners()

      Overrides:
        `installListeners` in class `BasicToolBarUI`

    - #### uninstallListeners

          protected void uninstallListeners()

      Overrides:
        `uninstallListeners` in class `BasicToolBarUI`

    - #### uninstallDefaults

          protected void uninstallDefaults()

      Overrides:
        `uninstallDefaults` in class `BasicToolBarUI`

    - #### installComponents

          protected void installComponents()

      Overrides:
        `installComponents` in class `BasicToolBarUI`

    - #### uninstallComponents

          protected void uninstallComponents()

      Overrides:
        `uninstallComponents` in class `BasicToolBarUI`

    - #### createLayout

          protected LayoutManager createLayout()

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

    - #### getContext

          public SynthContext getContext(JComponent c)

      Returns the Context for the specified component.
      Specified by:
        `getContext` in interface `SynthUI`
      Parameters:
        `c` - Component requesting SynthContext.
      Returns:
        SynthContext describing component.

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

    - #### paintBorder

          public void paintBorder(SynthContext context,
                                  Graphics g,
                                  int x,
                                  int y,
                                  int w,
                                  int h)

      Paints the border.
      Specified by:
        `paintBorder` in interface `SynthUI`
      Parameters:
        `context` - a component context
        `g` - `Graphics` to paint on
        `x` - the X coordinate
        `y` - the Y coordinate
        `w` - width of the border
        `h` - height of the border

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

    - #### paintDragWindow

          protected void paintDragWindow(Graphics g)

      Paints the contents of the window used for dragging.
      Overrides:
        `paintDragWindow` in class `BasicToolBarUI`
      Parameters:
        `g` - Graphics to paint to.

    - #### propertyChange

          public void propertyChange(PropertyChangeEvent e)

      This method gets called when a bound property is changed.
      Specified by:
        `propertyChange` in interface `PropertyChangeListener`
      Parameters:
        `e` - A PropertyChangeEvent object describing the event source and the property that has changed.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.