javax.swing
Interface BoundedRangeModel

All Known Implementing Classes:
DefaultBoundedRangeModel sample code for javax.swing.DefaultBoundedRangeModel definition code for javax.swing.DefaultBoundedRangeModel

public interface BoundedRangeModel

Defines the data model used by components like Sliders and ProgressBars. Defines four interrelated integer properties: minimum, maximum, extent and value. These four integers define two nested ranges like this:

 minimum <= value <= value+extent <= maximum
 
The outer range is minimum,maximum and the inner range is value,value+extent. The inner range must lie within the outer one, i.e. value must be less than or equal to maximum and value+extent must greater than or equal to minimum, and maximum must be greater than or equal to minimum. There are a few features of this model that one might find a little surprising. These quirks exist for the convenience of the Swing BoundedRangeModel clients, such as Slider and ScrollBar.

For an example of specifying custom bounded range models used by sliders, see The Anatomy of a Swing-Based Program in The Java Tutorial.

See Also:
DefaultBoundedRangeModel sample code for javax.swing.DefaultBoundedRangeModel definition code for javax.swing.DefaultBoundedRangeModel

Method Summary
 void addChangeListener sample code for javax.swing.BoundedRangeModel.addChangeListener(javax.swing.event.ChangeListener) definition code for javax.swing.BoundedRangeModel.addChangeListener(javax.swing.event.ChangeListener) (ChangeListener sample code for javax.swing.event.ChangeListener definition code for javax.swing.event.ChangeListener  x)
          Adds a ChangeListener to the model's listener list.
 int getExtent sample code for javax.swing.BoundedRangeModel.getExtent() definition code for javax.swing.BoundedRangeModel.getExtent() ()
          Returns the model's extent, the length of the inner range that begins at the model's value.
 int getMaximum sample code for javax.swing.BoundedRangeModel.getMaximum() definition code for javax.swing.BoundedRangeModel.getMaximum() ()
          Returns the model's maximum.
 int getMinimum sample code for javax.swing.BoundedRangeModel.getMinimum() definition code for javax.swing.BoundedRangeModel.getMinimum() ()
          Returns the minimum acceptable value.
 int getValue sample code for javax.swing.BoundedRangeModel.getValue() definition code for javax.swing.BoundedRangeModel.getValue() ()
          Returns the model's current value.
 boolean getValueIsAdjusting sample code for javax.swing.BoundedRangeModel.getValueIsAdjusting() definition code for javax.swing.BoundedRangeModel.getValueIsAdjusting() ()
          Returns true if the current changes to the value property are part of a series of changes.
 void removeChangeListener sample code for javax.swing.BoundedRangeModel.removeChangeListener(javax.swing.event.ChangeListener) definition code for javax.swing.BoundedRangeModel.removeChangeListener(javax.swing.event.ChangeListener) (ChangeListener sample code for javax.swing.event.ChangeListener definition code for javax.swing.event.ChangeListener  x)
          Removes a ChangeListener from the model's listener list.
 void setExtent sample code for javax.swing.BoundedRangeModel.setExtent(int) definition code for javax.swing.BoundedRangeModel.setExtent(int) (int newExtent)
          Sets the model's extent.
 void setMaximum sample code for javax.swing.BoundedRangeModel.setMaximum(int) definition code for javax.swing.BoundedRangeModel.setMaximum(int) (int newMaximum)
          Sets the model's maximum to newMaximum.
 void setMinimum sample code for javax.swing.BoundedRangeModel.setMinimum(int) definition code for javax.swing.BoundedRangeModel.setMinimum(int) (int newMinimum)
          Sets the model's minimum to newMinimum.
 void setRangeProperties sample code for javax.swing.BoundedRangeModel.setRangeProperties(int, int, int, int, boolean) definition code for javax.swing.BoundedRangeModel.setRangeProperties(int, int, int, int, boolean) (int value, int extent, int min, int max, boolean adjusting)
          This method sets all of the model's data with a single method call.
 void setValue sample code for javax.swing.BoundedRangeModel.setValue(int) definition code for javax.swing.BoundedRangeModel.setValue(int) (int newValue)
          Sets the model's current value to newValue if newValue satisfies the model's constraints.
 void setValueIsAdjusting sample code for javax.swing.BoundedRangeModel.setValueIsAdjusting(boolean) definition code for javax.swing.BoundedRangeModel.setValueIsAdjusting(boolean) (boolean b)
          This attribute indicates that any upcoming changes to the value of the model should be considered a single event.
 

Method Detail

getMinimum sample code for javax.swing.BoundedRangeModel.getMinimum() definition code for javax.swing.BoundedRangeModel.getMinimum()

int getMinimum()
Returns the minimum acceptable value.

Returns:
the value of the minimum property
See Also:
setMinimum(int) sample code for javax.swing.BoundedRangeModel.setMinimum(int) definition code for javax.swing.BoundedRangeModel.setMinimum(int)

setMinimum sample code for javax.swing.BoundedRangeModel.setMinimum(int) definition code for javax.swing.BoundedRangeModel.setMinimum(int)

void setMinimum(int newMinimum)
Sets the model's minimum to newMinimum. The other three properties may be changed as well, to ensure that:
 minimum <= value <= value+extent <= maximum
 

Notifies any listeners if the model changes.

Parameters:
newMinimum - the model's new minimum
See Also:
getMinimum() sample code for javax.swing.BoundedRangeModel.getMinimum() definition code for javax.swing.BoundedRangeModel.getMinimum() , addChangeListener(javax.swing.event.ChangeListener) sample code for javax.swing.BoundedRangeModel.addChangeListener(javax.swing.event.ChangeListener) definition code for javax.swing.BoundedRangeModel.addChangeListener(javax.swing.event.ChangeListener)

getMaximum sample code for javax.swing.BoundedRangeModel.getMaximum() definition code for javax.swing.BoundedRangeModel.getMaximum()

int getMaximum()
Returns the model's maximum. Note that the upper limit on the model's value is (maximum - extent).

Returns:
the value of the maximum property.
See Also:
setMaximum(int) sample code for javax.swing.BoundedRangeModel.setMaximum(int) definition code for javax.swing.BoundedRangeModel.setMaximum(int) , setExtent(int) sample code for javax.swing.BoundedRangeModel.setExtent(int) definition code for javax.swing.BoundedRangeModel.setExtent(int)

setMaximum sample code for javax.swing.BoundedRangeModel.setMaximum(int) definition code for javax.swing.BoundedRangeModel.setMaximum(int)

void setMaximum(int newMaximum)
Sets the model's maximum to newMaximum. The other three properties may be changed as well, to ensure that
 minimum <= value <= value+extent <= maximum
 

Notifies any listeners if the model changes.

Parameters:
newMaximum - the model's new maximum
See Also:
getMaximum() sample code for javax.swing.BoundedRangeModel.getMaximum() definition code for javax.swing.BoundedRangeModel.getMaximum() , addChangeListener(javax.swing.event.ChangeListener) sample code for javax.swing.BoundedRangeModel.addChangeListener(javax.swing.event.ChangeListener) definition code for javax.swing.BoundedRangeModel.addChangeListener(javax.swing.event.ChangeListener)

getValue sample code for javax.swing.BoundedRangeModel.getValue() definition code for javax.swing.BoundedRangeModel.getValue()

int getValue()
Returns the model's current value. Note that the upper limit on the model's value is maximum - extent and the lower limit is minimum.

Returns:
the model's value
See Also:
setValue(int) sample code for javax.swing.BoundedRangeModel.setValue(int) definition code for javax.swing.BoundedRangeModel.setValue(int)

setValue sample code for javax.swing.BoundedRangeModel.setValue(int) definition code for javax.swing.BoundedRangeModel.setValue(int)

void setValue(int newValue)
Sets the model's current value to newValue if newValue satisfies the model's constraints. Those constraints are:
 minimum <= value <= value+extent <= maximum
 
Otherwise, if newValue is less than minimum it's set to minimum, if its greater than maximum then it's set to maximum, and if it's greater than value+extent then it's set to value+extent.

When a BoundedRange model is used with a scrollbar the value specifies the origin of the scrollbar knob (aka the "thumb" or "elevator"). The value usually represents the origin of the visible part of the object being scrolled.

Notifies any listeners if the model changes.

Parameters:
newValue - the model's new value
See Also:
getValue() sample code for javax.swing.BoundedRangeModel.getValue() definition code for javax.swing.BoundedRangeModel.getValue()

setValueIsAdjusting sample code for javax.swing.BoundedRangeModel.setValueIsAdjusting(boolean) definition code for javax.swing.BoundedRangeModel.setValueIsAdjusting(boolean)

void setValueIsAdjusting(boolean b)
This attribute indicates that any upcoming changes to the value of the model should be considered a single event. This attribute will be set to true at the start of a series of changes to the value, and will be set to false when the value has finished changing. Normally this allows a listener to only take action when the final value change in committed, instead of having to do updates for all intermediate values.

Sliders and scrollbars use this property when a drag is underway.

Parameters:
b - true if the upcoming changes to the value property are part of a series

getValueIsAdjusting sample code for javax.swing.BoundedRangeModel.getValueIsAdjusting() definition code for javax.swing.BoundedRangeModel.getValueIsAdjusting()

boolean getValueIsAdjusting()
Returns true if the current changes to the value property are part of a series of changes.

Returns:
the valueIsAdjustingProperty.
See Also:
setValueIsAdjusting(boolean) sample code for javax.swing.BoundedRangeModel.setValueIsAdjusting(boolean) definition code for javax.swing.BoundedRangeModel.setValueIsAdjusting(boolean)

getExtent sample code for javax.swing.BoundedRangeModel.getExtent() definition code for javax.swing.BoundedRangeModel.getExtent()

int getExtent()
Returns the model's extent, the length of the inner range that begins at the model's value.

Returns:
the value of the model's extent property
See Also:
setExtent(int) sample code for javax.swing.BoundedRangeModel.setExtent(int) definition code for javax.swing.BoundedRangeModel.setExtent(int) , setValue(int) sample code for javax.swing.BoundedRangeModel.setValue(int) definition code for javax.swing.BoundedRangeModel.setValue(int)

setExtent sample code for javax.swing.BoundedRangeModel.setExtent(int) definition code for javax.swing.BoundedRangeModel.setExtent(int)

void setExtent(int newExtent)
Sets the model's extent. The newExtent is forced to be greater than or equal to zero and less than or equal to maximum - value.

When a BoundedRange model is used with a scrollbar the extent defines the length of the scrollbar knob (aka the "thumb" or "elevator"). The extent usually represents how much of the object being scrolled is visible. When used with a slider, the extent determines how much the value can "jump", for example when the user presses PgUp or PgDn.

Notifies any listeners if the model changes.

Parameters:
newExtent - the model's new extent
See Also:
getExtent() sample code for javax.swing.BoundedRangeModel.getExtent() definition code for javax.swing.BoundedRangeModel.getExtent() , setValue(int) sample code for javax.swing.BoundedRangeModel.setValue(int) definition code for javax.swing.BoundedRangeModel.setValue(int)

setRangeProperties sample code for javax.swing.BoundedRangeModel.setRangeProperties(int, int, int, int, boolean) definition code for javax.swing.BoundedRangeModel.setRangeProperties(int, int, int, int, boolean)

void setRangeProperties(int value,
                        int extent,
                        int min,
                        int max,
                        boolean adjusting)
This method sets all of the model's data with a single method call. The method results in a single change event being generated. This is convenient when you need to adjust all the model data simultaneously and do not want individual change events to occur.

Parameters:
value - an int giving the current value
extent - an int giving the amount by which the value can "jump"
min - an int giving the minimum value
max - an int giving the maximum value
adjusting - a boolean, true if a series of changes are in progress
See Also:
setValue(int) sample code for javax.swing.BoundedRangeModel.setValue(int) definition code for javax.swing.BoundedRangeModel.setValue(int) , setExtent(int) sample code for javax.swing.BoundedRangeModel.setExtent(int) definition code for javax.swing.BoundedRangeModel.setExtent(int) , setMinimum(int) sample code for javax.swing.BoundedRangeModel.setMinimum(int) definition code for javax.swing.BoundedRangeModel.setMinimum(int) , setMaximum(int) sample code for javax.swing.BoundedRangeModel.setMaximum(int) definition code for javax.swing.BoundedRangeModel.setMaximum(int) , setValueIsAdjusting(boolean) sample code for javax.swing.BoundedRangeModel.setValueIsAdjusting(boolean) definition code for javax.swing.BoundedRangeModel.setValueIsAdjusting(boolean)

addChangeListener sample code for javax.swing.BoundedRangeModel.addChangeListener(javax.swing.event.ChangeListener) definition code for javax.swing.BoundedRangeModel.addChangeListener(javax.swing.event.ChangeListener)

void addChangeListener(ChangeListener sample code for javax.swing.event.ChangeListener definition code for javax.swing.event.ChangeListener  x)
Adds a ChangeListener to the model's listener list.

Parameters:
x - the ChangeListener to add
See Also:
removeChangeListener(javax.swing.event.ChangeListener) sample code for javax.swing.BoundedRangeModel.removeChangeListener(javax.swing.event.ChangeListener) definition code for javax.swing.BoundedRangeModel.removeChangeListener(javax.swing.event.ChangeListener)

removeChangeListener sample code for javax.swing.BoundedRangeModel.removeChangeListener(javax.swing.event.ChangeListener) definition code for javax.swing.BoundedRangeModel.removeChangeListener(javax.swing.event.ChangeListener)

void removeChangeListener(ChangeListener sample code for javax.swing.event.ChangeListener definition code for javax.swing.event.ChangeListener  x)
Removes a ChangeListener from the model's listener list.

Parameters:
x - the ChangeListener to remove
See Also:
addChangeListener(javax.swing.event.ChangeListener) sample code for javax.swing.BoundedRangeModel.addChangeListener(javax.swing.event.ChangeListener) definition code for javax.swing.BoundedRangeModel.addChangeListener(javax.swing.event.ChangeListener)