public interface BoundedRangeModel
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 <= maximumThe 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.
value == maximum, setExtent(10) would change the extent (back) to zero. For an example of specifying custom bounded range models used by sliders, see Separable model architecture in A Swing Architecture Overview.
DefaultBoundedRangeModel
| Modifier and Type | Method and Description |
|---|---|
void |
addChangeListener(ChangeListener
Adds a ChangeListener to the model's listener list.
|
int |
getExtent()
Returns the model's extent, the length of the inner range that begins at the model's value.
|
int |
getMaximum()
Returns the model's maximum.
|
int |
getMinimum()
Returns the minimum acceptable value.
|
int |
getValue()
Returns the model's current value.
|
boolean |
getValueIsAdjusting()
Returns true if the current changes to the value property are part of a series of changes.
|
void |
removeChangeListener(ChangeListener
Removes a ChangeListener from the model's listener list.
|
void |
setExtent(int newExtent)
Sets the model's extent.
|
void |
setMaximum(int newMaximum)
Sets the model's maximum to
newMaximum.
|
void |
setMinimum(int newMinimum)
Sets the model's minimum to
newMinimum.
|
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.
|
void |
setValue(int newValue)
Sets the model's current value to
newValue if
newValue satisfies the model's constraints.
|
void |
setValueIsAdjusting(boolean b)
This attribute indicates that any upcoming changes to the value of the model should be considered a single event.
|
int getMinimum()
setMinimum(int)
void setMinimum(int newMinimum)
minimum <= value <= value+extent <= maximum
Notifies any listeners if the model changes.
newMinimum - the model's new minimum
getMinimum(),
addChangeListener(javax.swing.event.ChangeListener)
int getMaximum()
setMaximum(int),
setExtent(int)
void setMaximum(int newMaximum)
minimum <= value <= value+extent <= maximum
Notifies any listeners if the model changes.
newMaximum - the model's new maximum
getMaximum(),
addChangeListener(javax.swing.event.ChangeListener)
int getValue()
maximum - extent and the lower limit is
minimum.
setValue(int)
void setValue(int newValue)
newValue if
newValue satisfies the model's constraints. Those constraints are:
minimum <= value <= value+extent <= maximumOtherwise, 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.
newValue - the model's new value
getValue()
void setValueIsAdjusting(boolean b)
Sliders and scrollbars use this property when a drag is underway.
b - true if the upcoming changes to the value property are part of a series
boolean getValueIsAdjusting()
setValueIsAdjusting(boolean)
int getExtent()
setExtent(int),
setValue(int)
void setExtent(int newExtent)
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.
newExtent - the model's new extent
getExtent(),
setValue(int)
void setRangeProperties(int value,
int extent,
int min,
int max,
boolean adjusting)
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
setValue(int),
setExtent(int),
setMinimum(int),
setMaximum(int),
setValueIsAdjusting(boolean)
void addChangeListener(ChangeListenerx)
x - the ChangeListener to add
removeChangeListener(javax.swing.event.ChangeListener)
void removeChangeListener(ChangeListenerx)
x - the ChangeListener to remove
addChangeListener(javax.swing.event.ChangeListener)