Class GUIProgressBar<T>

Type Parameters:
T -
All Implemented Interfaces:
GUIValueField<T>

public class GUIProgressBar<T> extends GUIGlassPanel implements GUIValueField<T>
Implementation of a progress bar.

How much the bar is "filled" is according to the attached model and the current value on the bar. All child components on this bar are inert and do not respond to input, nor can be focused.

A transition type can be set on the bar, for animating the bar as it changes.

NOTE: The "thumb" object on the bar is NOT VISIBLE (setVisible(false)) by default!

This object and its descendants return specific theme keys depending on the current state of the bar.

Thumb:

Progressbar Themes
Horizontal THEME_KEY_PROGRESS_THUMB_HORIZONTAL
Horizontal Inverse THEME_KEY_PROGRESS_THUMB_HORIZONTAL_INVERSE
Vertical THEME_KEY_PROGRESS_THUMB_VERTICAL
Vertical Inverse THEME_KEY_PROGRESS_THUMB_VERTICAL_INVERSE

Full Bar:

Progressbar Themes
Horizontal THEME_KEY_PROGRESS_FULL_HORIZONTAL
Horizontal Inverse THEME_KEY_PROGRESS_FULL_HORIZONTAL_INVERSE
Vertical THEME_KEY_PROGRESS_FULL_VERTICAL
Vertical Inverse THEME_KEY_PROGRESS_FULL_VERTICAL_INVERSE

Empty Bar:

Progressbar Themes
Horizontal THEME_KEY_PROGRESS_EMPTY_HORIZONTAL
Horizontal Inverse THEME_KEY_PROGRESS_EMPTY_HORIZONTAL_INVERSE
Vertical THEME_KEY_PROGRESS_EMPTY_VERTICAL
Vertical Inverse THEME_KEY_PROGRESS_EMPTY_VERTICAL_INVERSE
Author:
Matthew Tropiano
  • Field Details

    • THEME_KEY_PROGRESS_THUMB_HORIZONTAL

      public static final String THEME_KEY_PROGRESS_THUMB_HORIZONTAL
      Theme key for thumb, horizontal.
      See Also:
    • THEME_KEY_PROGRESS_FULL_HORIZONTAL

      public static final String THEME_KEY_PROGRESS_FULL_HORIZONTAL
      Theme key for full bar, horizontal.
      See Also:
    • THEME_KEY_PROGRESS_EMPTY_HORIZONTAL

      public static final String THEME_KEY_PROGRESS_EMPTY_HORIZONTAL
      Theme key for empty bar, horizontal.
      See Also:
    • THEME_KEY_PROGRESS_THUMB_HORIZONTAL_INVERSE

      public static final String THEME_KEY_PROGRESS_THUMB_HORIZONTAL_INVERSE
      Theme key for thumb, horizontal inverse.
      See Also:
    • THEME_KEY_PROGRESS_FULL_HORIZONTAL_INVERSE

      public static final String THEME_KEY_PROGRESS_FULL_HORIZONTAL_INVERSE
      Theme key for full bar, horizontal inverse.
      See Also:
    • THEME_KEY_PROGRESS_EMPTY_HORIZONTAL_INVERSE

      public static final String THEME_KEY_PROGRESS_EMPTY_HORIZONTAL_INVERSE
      Theme key for empty bar, horizontal inverse.
      See Also:
    • THEME_KEY_PROGRESS_THUMB_VERTICAL

      public static final String THEME_KEY_PROGRESS_THUMB_VERTICAL
      Theme key for thumb, vertical.
      See Also:
    • THEME_KEY_PROGRESS_FULL_VERTICAL

      public static final String THEME_KEY_PROGRESS_FULL_VERTICAL
      Theme key for full bar, vertical.
      See Also:
    • THEME_KEY_PROGRESS_EMPTY_VERTICAL

      public static final String THEME_KEY_PROGRESS_EMPTY_VERTICAL
      Theme key for empty bar, vertical.
      See Also:
    • THEME_KEY_PROGRESS_THUMB_VERTICAL_INVERSE

      public static final String THEME_KEY_PROGRESS_THUMB_VERTICAL_INVERSE
      Theme key for thumb, vertical inverse.
      See Also:
    • THEME_KEY_PROGRESS_FULL_VERTICAL_INVERSE

      public static final String THEME_KEY_PROGRESS_FULL_VERTICAL_INVERSE
      Theme key for full bar, vertical inverse.
      See Also:
    • THEME_KEY_PROGRESS_EMPTY_VERTICAL_INVERSE

      public static final String THEME_KEY_PROGRESS_EMPTY_VERTICAL_INVERSE
      Theme key for empty bar, vertical inverse.
      See Also:
    • THUMB_NAME

      public static final String THUMB_NAME
      The name given to the thumb between the "full" and "empty" bars.
      See Also:
    • FULL_NAME

      public static final String FULL_NAME
      The name given to the full bar.
      See Also:
    • EMPTY_NAME

      public static final String EMPTY_NAME
      The name given to the empty bar.
      See Also:
    • style

      protected GUIProgressBar.Style style
      Bar style.
    • transitionType

      protected GUIEasingType transitionType
      Transition type.
    • transitionTime

      protected long transitionTime
      Transition time (time units).
    • model

      protected RangeModel<T> model
      Bar model.
    • thumbObject

      protected GUIObject thumbObject
      Internal object for the thumb.
    • fullBarObject

      protected GUIObject fullBarObject
      Internal object for the full bar.
    • emptyBarObject

      protected GUIObject emptyBarObject
      Internal object for the empty bar.
    • currentValue

      protected T currentValue
      Current value.
  • Constructor Details

    • GUIProgressBar

      public GUIProgressBar(RangeModel<T> model, GUIProgressBar.Style style)
      Creates a new progress bar using the provided model and style.
      Parameters:
      model - the value model.
      style - the desired style.
  • Method Details

    • setLayout

      public GUIObject setLayout(GUILayout layout)
      This uses a special layout; to preserve it, this throws UnsupportedOperationException.
      Overrides:
      setLayout in class GUIObject
      Parameters:
      layout - the layout to use.
      Returns:
      itself, to chain calls.
      Throws:
      UnsupportedOperationException - if called.
    • getTransitionType

      public GUIEasingType getTransitionType()
      Returns:
      the current transition type.
    • setTransitionType

      public void setTransitionType(GUIEasingType transitionType)
      Sets the current transition type. This is the transition used when a value changes.
      Parameters:
      transitionType - the transition type.
    • getTransitionTime

      public long getTransitionTime()
      Returns:
      the current transition time in time units.
    • setTransitionTime

      public void setTransitionTime(long transitionTime)
      Sets the current transition time in time units.
      Parameters:
      transitionTime - the transition time.
    • getThumbObject

      public GUIObject getThumbObject()
      Returns:
      a reference to the thumb object.
    • getFullBarObject

      public GUIObject getFullBarObject()
      Returns:
      a reference to the full bar object.
    • getEmptyBarObject

      public GUIObject getEmptyBarObject()
      Returns:
      a reference to the empty bar object.
    • getStyle

      public GUIProgressBar.Style getStyle()
      Returns:
      the current slider style.
    • getValue

      public T getValue()
      Specified by:
      getValue in interface GUIValueField<T>
      Returns:
      this field's current value.
    • setValue

      public GUIValueField<T> setValue(Object value)
      Description copied from interface: GUIValueField
      Sets this field's value. This must accept any object, and attempt to set the correct value based on it. This object must fire an GUIValueField.EVENT_VALUE_CHANGE event if it changes from its current value.
      Specified by:
      setValue in interface GUIValueField<T>
      Parameters:
      value - the value to set.
      Returns:
      itself, to chain calls.