APIdia Launch Partner
Top Description Methods
javax.swing

public Interface BoundedRangeModel

Known Direct Implementers
javax.swing.DefaultBoundedRangeModel
Imports
javax.swing.event.ChangeListener

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 be 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 Separable model architecture in A Swing Architecture Overview.

Author
Hans Muller
Since
1.2
See Also
DefaultBoundedRangeModel

Method Summary

Modifier and TypeMethod and Description
public void
addChangeListener(ChangeListener
the ChangeListener to add
x
)

Adds a ChangeListener to the model's listener list.

public int

Returns:

the value of the model's extent property
getExtent
()

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

public int

Returns:

the value of the maximum property.
getMaximum
()

Returns the model's maximum.

public int

Returns:

the value of the minimum property
getMinimum
()

Returns the minimum acceptable value.

public int

Returns:

the model's value
getValue
()

Returns the model's current value.

public boolean

Returns:

the valueIsAdjustingProperty.
getValueIsAdjusting
()

Returns true if the current changes to the value property are part of a series of changes.

public void
removeChangeListener(ChangeListener
the ChangeListener to remove
x
)

Removes a ChangeListener from the model's listener list.

public void
setExtent(int
the model's new extent
newExtent
)

Sets the model's extent.

public void
setMaximum(int
the model's new maximum
newMaximum
)

Sets the model's maximum to newMaximum.

public void
setMinimum(int
the model's new minimum
newMinimum
)

Sets the model's minimum to newMinimum.

public void
setRangeProperties(int
an int giving the current value
value
,
int
an int giving the amount by which the value can "jump"
extent
,
int
an int giving the minimum value
min
,
int
an int giving the maximum value
max
,
boolean
a boolean, true if a series of changes are in progress
adjusting
)

This method sets all the model's data with a single method call.

public void
setValue(int
the model's new value
newValue
)

Sets the model's current value to newValue if newValue satisfies the model's constraints.

public void
setValueIsAdjusting(boolean
true if the upcoming changes to the value property are part of a series
b
)

This attribute indicates that any upcoming changes to the value of the model should be considered a single event.

Method Detail

addChangeListenerback to summary
public void addChangeListener(ChangeListener x)

Adds a ChangeListener to the model's listener list.

Parameters
x:ChangeListener

the ChangeListener to add

See Also
removeChangeListener
getExtentback to summary
public int getExtent()

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

Returns:int

the value of the model's extent property

See Also
setExtent, setValue
getMaximumback to summary
public int getMaximum()

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

Returns:int

the value of the maximum property.

See Also
setMaximum, setExtent
getMinimumback to summary
public int getMinimum()

Returns the minimum acceptable value.

Returns:int

the value of the minimum property

See Also
setMinimum
getValueback to summary
public 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:int

the model's value

See Also
setValue
getValueIsAdjustingback to summary
public boolean getValueIsAdjusting()

Returns true if the current changes to the value property are part of a series of changes.

Returns:boolean

the valueIsAdjustingProperty.

See Also
setValueIsAdjusting
removeChangeListenerback to summary
public void removeChangeListener(ChangeListener x)

Removes a ChangeListener from the model's listener list.

Parameters
x:ChangeListener

the ChangeListener to remove

See Also
addChangeListener
setExtentback to summary
public 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:int

the model's new extent

See Also
getExtent, setValue
setMaximumback to summary
public 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:int

the model's new maximum

See Also
getMaximum, addChangeListener
setMinimumback to summary
public 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:int

the model's new minimum

See Also
getMinimum, addChangeListener
setRangePropertiesback to summary
public void setRangeProperties(int value, int extent, int min, int max, boolean adjusting)

This method sets all 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:int

an int giving the current value

extent:int

an int giving the amount by which the value can "jump"

min:int

an int giving the minimum value

max:int

an int giving the maximum value

adjusting:boolean

a boolean, true if a series of changes are in progress

See Also
setValue, setExtent, setMinimum, setMaximum, setValueIsAdjusting
setValueback to summary
public 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:int

the model's new value

See Also
getValue
setValueIsAdjustingback to summary
public 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:boolean

true if the upcoming changes to the value property are part of a series