MetalProgressBarUI (Java Platform SE 8 )
Keywords: javax.swing.plaf.metal.MetalProgressBarUI class
Date: 2026-04-17

javax.swing.plaf.metal

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

      `BasicProgressBarUI.ChangeHandler`

  - ### Field Summary

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

      `boxRect, changeListener, progressBar`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MetalProgressBarUI()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static ComponentUI` | `createUI(JComponent c)`
    `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 inherited from class javax.swing.plaf.basic.BasicProgressBarUI

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

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

      `contains, getAccessibleChild, getAccessibleChildrenCount, update`

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

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

- - ### Constructor Detail

    - #### MetalProgressBarUI

          public MetalProgressBarUI()

  - ### Method Detail

    - #### createUI

          public static ComponentUI createUI(JComponent c)

    - #### 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`
      Since:
        1.4
      See Also:
        `BasicProgressBarUI.paintIndeterminate(java.awt.Graphics, javax.swing.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`
      Since:
        1.4
      See Also:
        `BasicProgressBarUI.paintDeterminate(java.awt.Graphics, javax.swing.JComponent)`

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.