DefaultBoundedRangeModel (Java SE 19 & JDK 19) (original) (raw)
All Implemented Interfaces:
[Serializable](../../../java.base/java/io/Serializable.html "interface in java.io")
, [BoundedRangeModel](BoundedRangeModel.html "interface in javax.swing")
A generic implementation of BoundedRangeModel.
Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeans has been added to the java.beans
package. Please see XMLEncoder.
Since:
1.2
See Also:
Field Summary
Fields
Only one ChangeEvent
is needed per model instance since the event's only (read-only) state is the source property.
The listeners waiting for model changes.
Constructor Summary
Constructors
Initializes all of the properties with default values.[DefaultBoundedRangeModel](#%3Cinit%3E%28int,int,int,int%29)(int value, int extent, int min, int max)
Initializes value, extent, minimum and maximum.
Method Summary
void
protected void
Runs each ChangeListener
's stateChanged
method.
Returns an array of all the change listeners registered on this DefaultBoundedRangeModel
.int
[getExtent](#getExtent%28%29)()
Returns the model's extent.[getListeners](#getListeners%28java.lang.Class%29)([Class](../../../java.base/java/lang/Class.html "class in java.lang")<T> listenerType)
Returns an array of all the objects currently registered as_Foo_Listener
s upon this model.int
Returns the model's maximum.int
Returns the model's minimum.int
[getValue](#getValue%28%29)()
Returns the model's current value.boolean
Returns true if the value is in the process of changing as a result of actions being taken by the user.void
Removes a ChangeListener
.void
[setExtent](#setExtent%28int%29)(int n)
Sets the extent to n after ensuring that n is greater than or equal to zero and falls within the model's constraints:void
[setMaximum](#setMaximum%28int%29)(int n)
Sets the maximum to n after ensuring that n that the other three properties obey the model's constraints:void
[setMinimum](#setMinimum%28int%29)(int n)
Sets the minimum to n after ensuring that n that the other three properties obey the model's constraints:void
[setRangeProperties](#setRangeProperties%28int,int,int,int,boolean%29)(int newValue, int newExtent, int newMin, int newMax, boolean adjusting)
Sets all of the BoundedRangeModel
properties after forcing the arguments to obey the usual constraints:void
[setValue](#setValue%28int%29)(int n)
Sets the current value of the model.void
[setValueIsAdjusting](#setValueIsAdjusting%28boolean%29)(boolean b)
Sets the valueIsAdjusting
property.[toString](#toString%28%29)()
Returns a string that displays all of theBoundedRangeModel
properties.
Field Details
changeEvent
Only one
ChangeEvent
is needed per model instance since the event's only (read-only) state is the source property. The source of events generated here is always "this".listenerList
The listeners waiting for model changes.
Constructor Details
DefaultBoundedRangeModel
public DefaultBoundedRangeModel()
Initializes all of the properties with default values. Those values are:
*value
= 0
*extent
= 0
*minimum
= 0
*maximum
= 100
*adjusting
= falseDefaultBoundedRangeModel
public DefaultBoundedRangeModel(int value, int extent, int min, int max)
Initializes value, extent, minimum and maximum. Adjusting is false. Throws anIllegalArgumentException
if the following constraints aren't satisfied:
min <= value <= value+extent <= maxParameters:
value
- an int giving the current value
extent
- the length of the inner range that begins at the model's value
min
- an int giving the minimum value
max
- an int giving the maximum valueMethod Details
getValue
public int getValue()
Returns the model's current value.
Specified by:
[getValue](BoundedRangeModel.html#getValue%28%29)
in interface[BoundedRangeModel](BoundedRangeModel.html "interface in javax.swing")
Returns:
the model's current value
See Also:
* setValue(int)
* BoundedRangeModel.getValue()getExtent
public int getExtent()
Returns the model's extent.
Specified by:
[getExtent](BoundedRangeModel.html#getExtent%28%29)
in interface[BoundedRangeModel](BoundedRangeModel.html "interface in javax.swing")
Returns:
the model's extent
See Also:
* setExtent(int)
* BoundedRangeModel.getExtent()getMinimum
public int getMinimum()
Returns the model's minimum.
Specified by:
[getMinimum](BoundedRangeModel.html#getMinimum%28%29)
in interface[BoundedRangeModel](BoundedRangeModel.html "interface in javax.swing")
Returns:
the model's minimum
See Also:
* setMinimum(int)
* BoundedRangeModel.getMinimum()getMaximum
public int getMaximum()
Returns the model's maximum.
Specified by:
[getMaximum](BoundedRangeModel.html#getMaximum%28%29)
in interface[BoundedRangeModel](BoundedRangeModel.html "interface in javax.swing")
Returns:
the model's maximum
See Also:
* setMaximum(int)
* BoundedRangeModel.getMaximum()setValue
public void setValue(int n)
Sets the current value of the model. For a slider, that determines where the knob appears. Ensures that the new value, n falls within the model's constraints:
minimum <= value <= value+extent <= maximumSpecified by:
[setValue](BoundedRangeModel.html#setValue%28int%29)
in interface[BoundedRangeModel](BoundedRangeModel.html "interface in javax.swing")
Parameters:
n
- the model's new value
See Also:
* BoundedRangeModel.setValue(int)setExtent
public void setExtent(int n)
Sets the extent to n after ensuring that n is greater than or equal to zero and falls within the model's constraints:
minimum <= value <= value+extent <= maximumSpecified by:
[setExtent](BoundedRangeModel.html#setExtent%28int%29)
in interface[BoundedRangeModel](BoundedRangeModel.html "interface in javax.swing")
Parameters:
n
- the model's new extent
See Also:
* BoundedRangeModel.setExtent(int)setMinimum
public void setMinimum(int n)
Sets the minimum to n after ensuring that n that the other three properties obey the model's constraints:
minimum <= value <= value+extent <= maximumSpecified by:
[setMinimum](BoundedRangeModel.html#setMinimum%28int%29)
in interface[BoundedRangeModel](BoundedRangeModel.html "interface in javax.swing")
Parameters:
n
- the model's new minimum
See Also:
* getMinimum()
* BoundedRangeModel.setMinimum(int)setMaximum
public void setMaximum(int n)
Sets the maximum to n after ensuring that n that the other three properties obey the model's constraints:
minimum <= value <= value+extent <= maximumSpecified by:
[setMaximum](BoundedRangeModel.html#setMaximum%28int%29)
in interface[BoundedRangeModel](BoundedRangeModel.html "interface in javax.swing")
Parameters:
n
- the model's new maximum
See Also:
* BoundedRangeModel.setMaximum(int)setValueIsAdjusting
public void setValueIsAdjusting(boolean b)
Sets thevalueIsAdjusting
property.
Specified by:
[setValueIsAdjusting](BoundedRangeModel.html#setValueIsAdjusting%28boolean%29)
in interface[BoundedRangeModel](BoundedRangeModel.html "interface in javax.swing")
Parameters:
b
- true if the upcoming changes to the value property are part of a series
See Also:
* getValueIsAdjusting()
* setValue(int)
* BoundedRangeModel.setValueIsAdjusting(boolean)getValueIsAdjusting
public boolean getValueIsAdjusting()
Returns true if the value is in the process of changing as a result of actions being taken by the user.
Specified by:
[getValueIsAdjusting](BoundedRangeModel.html#getValueIsAdjusting%28%29)
in interface[BoundedRangeModel](BoundedRangeModel.html "interface in javax.swing")
Returns:
the value of thevalueIsAdjusting
property
See Also:
* setValue(int)
* BoundedRangeModel.getValueIsAdjusting()setRangeProperties
public void setRangeProperties(int newValue, int newExtent, int newMin, int newMax, boolean adjusting)
Sets all of theBoundedRangeModel
properties after forcing the arguments to obey the usual constraints:
minimum <= value <= value+extent <= maximumAt most, one
ChangeEvent
is generated.
Specified by:
[setRangeProperties](BoundedRangeModel.html#setRangeProperties%28int,int,int,int,boolean%29)
in interface[BoundedRangeModel](BoundedRangeModel.html "interface in javax.swing")
Parameters:
newValue
- an int giving the current value
newExtent
- an int giving the amount by which the value can "jump"
newMin
- an int giving the minimum value
newMax
- an int giving the maximum value
adjusting
- a boolean, true if a series of changes are in progress
See Also:
* BoundedRangeModel.setRangeProperties(int, int, int, int, boolean)
* setValue(int)
* setExtent(int)
* setMinimum(int)
* setMaximum(int)
* setValueIsAdjusting(boolean)addChangeListener
Adds a
ChangeListener
. The change listeners are run each time any one of the Bounded Range model properties changes.
Specified by:
[addChangeListener](BoundedRangeModel.html#addChangeListener%28javax.swing.event.ChangeListener%29)
in interface[BoundedRangeModel](BoundedRangeModel.html "interface in javax.swing")
Parameters:
l
- the ChangeListener to add
See Also:
* removeChangeListener(javax.swing.event.ChangeListener)
* BoundedRangeModel.addChangeListener(javax.swing.event.ChangeListener)removeChangeListener
Removes a
ChangeListener
.
Specified by:
[removeChangeListener](BoundedRangeModel.html#removeChangeListener%28javax.swing.event.ChangeListener%29)
in interface[BoundedRangeModel](BoundedRangeModel.html "interface in javax.swing")
Parameters:
l
- theChangeListener
to remove
See Also:
* addChangeListener(javax.swing.event.ChangeListener)
* BoundedRangeModel.removeChangeListener(javax.swing.event.ChangeListener)getChangeListeners
Returns an array of all the change listeners registered on this
DefaultBoundedRangeModel
.
Returns:
all of this model'sChangeListener
s or an empty array if no change listeners are currently registered
Since:
1.4
See Also:
* addChangeListener(javax.swing.event.ChangeListener)
* removeChangeListener(javax.swing.event.ChangeListener)fireStateChanged
protected void fireStateChanged()
Runs eachChangeListener
'sstateChanged
method.
See Also:
* setRangeProperties(int, int, int, int, boolean)
* EventListenerListtoString
Returns a string that displays all of the
BoundedRangeModel
properties.
Overrides:
[toString](../../../java.base/java/lang/Object.html#toString%28%29)
in class[Object](../../../java.base/java/lang/Object.html "class in java.lang")
Returns:
a string representation of the object.getListeners
Returns an array of all the objects currently registered as
_Foo_Listener
s upon this model._Foo_Listener
s are registered using theadd_Foo_Listener
method.
You can specify thelistenerType
argument with a class literal, such as_Foo_Listener.class
. For example, you can query aDefaultBoundedRangeModel
instancem
for its change listeners with the following code:
ChangeListener[] cls = (ChangeListener[])(m.getListeners(ChangeListener.class));
If no such listeners exist, this method returns an empty array.
Type Parameters:
T
- the type ofEventListener
class being requested
Parameters:
listenerType
- the type of listeners requested; this parameter should specify an interface that descends fromjava.util.EventListener
Returns:
an array of all objects registered as_Foo_Listener
s on this model, or an empty array if no such listeners have been added
Throws:
[ClassCastException](../../../java.base/java/lang/ClassCastException.html "class in java.lang")
- iflistenerType
doesn't specify a class or interface that implementsjava.util.EventListener
Since:
1.3
See Also:
* getChangeListeners()