# Class MetalProgressBarUI

java.lang.Object
javax.swing.plaf.ComponentUI
javax.swing.plaf.ProgressBarUI
javax.swing.plaf.basic.BasicProgressBarUI
javax.swing.plaf.metal.MetalProgressBarUI

public class MetalProgressBarUI extends BasicProgressBarUI
The Metal implementation of ProgressBarUI.

Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeans has been added to the `java.beans` package. Please see `XMLEncoder`.

- ## Nested Class Summary

  ### Nested classes/interfaces declared in class BasicProgressBarUI

  `BasicProgressBarUI.ChangeHandler`

- ## Field Summary

  ### Fields declared in class BasicProgressBarUI

  `boxRect, changeListener, progressBar`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `MetalProgressBarUI()`
  Constructs a `MetalProgressBarUI`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static ComponentUI`
  `createUI(JComponent c)`
  Constructs an instance of `MetalProgressBarUI`.
  `void`
  `paintDeterminate(Graphics g, JComponent c)`
  Draws a bit of special highlighting on the progress bar.
  `void`
  `paintIndeterminate(Graphics g, JComponent c)`
  Draws a bit of special highlighting on the progress bar and bouncing box.

  ### Methods declared in class BasicProgressBarUI

  `getAmountFull, getAnimationIndex, getBaseline, getBaselineResizeBehavior, getBox, getBoxLength, getCellLength, getCellSpacing, getFrameCount, getMinimumSize, getPreferredInnerHorizontal, getPreferredInnerVertical, getSelectionBackground, getSelectionForeground, getStringPlacement, incrementAnimationIndex, installDefaults, installListeners, paint, paintString, setAnimationIndex, setCellLength, setCellSpacing, startAnimationTimer, stopAnimationTimer, uninstallDefaults, uninstallListeners`

  ### Methods declared in class ComponentUI

  `contains, getAccessibleChild, getAccessibleChildrenCount, getMaximumSize, getPreferredSize, installUI, uninstallUI, update`

  ### Methods declared in class Object

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

- ## Constructor Details

  - ### MetalProgressBarUI

    public MetalProgressBarUI()
    Constructs a `MetalProgressBarUI`.

- ## Method Details

  - ### createUI

    public static ComponentUI createUI(JComponent c)
    Constructs an instance of `MetalProgressBarUI`.
    Parameters:
      `c` - a component
    Returns:
      an instance of `MetalProgressBarUI`

  - ### paintDeterminate

    public void paintDeterminate(Graphics g, JComponent c)
    Draws a bit of special highlighting on the progress bar. The core painting is deferred to the BasicProgressBar's `paintDeterminate` method.
    Overrides:
      `paintDeterminate` in class `BasicProgressBarUI`
    Parameters:
      `g` - an instance of `Graphics`
      `c` - a component
    Since:
      1.4
    See Also:
      - `BasicProgressBarUI.paintIndeterminate(Graphics, JComponent)`

  - ### paintIndeterminate

    public void paintIndeterminate(Graphics g, JComponent c)
    Draws a bit of special highlighting on the progress bar and bouncing box. The core painting is deferred to the BasicProgressBar's `paintIndeterminate` method.
    Overrides:
      `paintIndeterminate` in class `BasicProgressBarUI`
    Parameters:
      `g` - an instance of `Graphics`
      `c` - a component
    Since:
      1.4
    See Also:
      - `BasicProgressBarUI.paintDeterminate(Graphics, JComponent)`