public interface BoundedRangeModel
Slider
s
and ProgressBar
s.
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 x)
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 x)
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 minimumgetMinimum()
,
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 maximumgetMaximum()
,
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 valuegetValue()
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 seriesboolean 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 extentgetExtent()
,
setValue(int)
void setRangeProperties(int value, int extent, int min, int max, boolean adjusting)
value
- an int giving the current valueextent
- an int giving the amount by which the value can "jump"min
- an int giving the minimum valuemax
- an int giving the maximum valueadjusting
- a boolean, true if a series of changes are in
progresssetValue(int)
,
setExtent(int)
,
setMinimum(int)
,
setMaximum(int)
,
setValueIsAdjusting(boolean)
void addChangeListener(ChangeListener x)
x
- the ChangeListener to addremoveChangeListener(javax.swing.event.ChangeListener)
void removeChangeListener(ChangeListener x)
x
- the ChangeListener to removeaddChangeListener(javax.swing.event.ChangeListener)
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, 2024, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.