All Packages Class Hierarchy This Package Previous Next Index
Interface com.sun.java.swing.BoundedRangeModel
- 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 like like Slider and ScrollBar.
-
The minimum and maximum set methods "correct" the other
three properties to acommodate their new value argument. For
example setting the model's minimum may change its maximum, value,
and extent properties (in that order), to maintain the constraints
specified above.
-
The value and extent set methods "correct" their argument to
fit within the limits defined by the other three properties.
For example if
value == maximum
, setExtent(10)
would change the extent (back) to zero.
-
The four BoundedRangeModel values are defined as Java Beans properties
however Swing ChangeEvents are used to notify clients of changes rather
than PropertyChangeEvents. This was done to keep the overhead of monitoring
a BoundedRangeModel low. Changes are often reported at MouseDragged rates.
- See Also:
- DefaultBoundedRangeModel
-
addChangeListener(ChangeListener)
- Adds a ChangeListener to the model's listener list.
-
getExtent()
- Returns the model's extent, the length of the inner range that
begins at the model's value.
-
getMaximum()
- Returns the model's maximum.
-
getMinimum()
- Returns the minimum acceptable value.
-
getValue()
- Returns the model's current value.
-
getValueIsAdjusting()
- Returns true if the current changes to the value property are part
of a series.
-
removeChangeListener(ChangeListener)
- Removes a ChangeListener from the model's listener list.
-
setExtent(int)
- Sets the model's extent.
-
setMaximum(int)
- Sets the model's maximum to newMaximum.
-
setMinimum(int)
- Sets the model's minimum to newMinimum.
-
setRangeProperties(int, int, int, int, boolean)
- This method sets all of the model's data with a single method call.
-
setValue(int)
- Sets the model's current value to
newValue
if newValue
satisfies the model's constraints.
-
setValueIsAdjusting(boolean)
- This attribute indicates that any upcoming changes to the value
of the model should be considered a single event.
getMinimum
public abstract int getMinimum()
- Returns the minimum acceptable value.
- Returns:
- the value of the minimum property
- See Also:
- setMinimum
setMinimum
public abstract 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, addChangeListener
getMaximum
public abstract 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, setExtent
setMaximum
public abstract 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, addChangeListener
getValue
public abstract 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
setValue
public abstract 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
setValueIsAdjusting
public abstract 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
- See Also:
- getValueIsAdjusting
getValueIsAdjusting
public abstract boolean getValueIsAdjusting()
- Returns true if the current changes to the value property are part
of a series.
- Returns:
- the valueIsAdjustingProperty.
- See Also:
- setValueIsAdjusting
getExtent
public abstract 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, setValue
setExtent
public abstract 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.
Notifies any listeners if the model changes.
- Parameters:
- newExtent - the model's new extent
- See Also:
- getExtent, setValue
setRangeProperties
public abstract 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 simulaneously and
do not want individual change events to occur.
- See Also:
- setValue, setExtent, setMinimum, setMaximum, setValueIsAdjusting
addChangeListener
public abstract void addChangeListener(ChangeListener x)
- Adds a ChangeListener to the model's listener list.
- Parameters:
- x - the ChangeListener to add
- See Also:
- removeChangeListener
removeChangeListener
public abstract void removeChangeListener(ChangeListener x)
- Removes a ChangeListener from the model's listener list.
- Parameters:
- x - the ChangeListener to remove
- See Also:
- addChangeListener
All Packages Class Hierarchy This Package Previous Next Index