javax.swing
Class SpinnerNumberModel

java.lang.Object
  extended by javax.swing.AbstractSpinnerModel
      extended by javax.swing.SpinnerNumberModel
All Implemented Interfaces:
Serializable, SpinnerModel

public class SpinnerNumberModel
extends AbstractSpinnerModel
implements Serializable

A model used by the JSpinner component.

Since:
1.4
See Also:
Serialized Form

Field Summary
 
Fields inherited from class javax.swing.AbstractSpinnerModel
listenerList
 
Constructor Summary
SpinnerNumberModel()
          Creates a SpinnerNumberModel with initial value 0, step 1, and no maximum nor minimum.
SpinnerNumberModel(double value, double minimum, double maximum, double stepSize)
          Creates a SpinnerNumberModel with double precision.
SpinnerNumberModel(int value, int minimum, int maximum, int stepSize)
          Creates a SpinnerNumberModel with integer precision.
SpinnerNumberModel(Number value, Comparable minimum, Comparable maximum, Number stepSize)
          Creates a SpinnerNumberModel with the given attributes.
 
Method Summary
 Comparable getMaximum()
          Returns the maximum value, or null if there is no maximum.
 Comparable getMinimum()
          Returns the minimum value, or null if there is no minimum.
 Object getNextValue()
          Returns the next value, or null if adding the step size to the current value results in a value greater than the maximum value.
 Number getNumber()
          Returns the current value.
 Object getPreviousValue()
          Returns the previous value, or null if subtracting the step size from the current value results in a value less than the minimum value.
 Number getStepSize()
          Returns the step size.
 Object getValue()
          Returns the current value, which for this class is always an instance of Number.
 void setMaximum(Comparable newMaximum)
          Sets the maximum value and, if the new value is different to the old value, sends a ChangeEvent to all registered listeners.
 void setMinimum(Comparable newMinimum)
          Sets the minimum value and, if the new value is different to the old value, sends a ChangeEvent to all registered listeners.
 void setStepSize(Number newStepSize)
          Sets the step size and, if the new step size is different to the old step size, sends a ChangeEvent to all registered listeners.
 void setValue(Object value)
          Sets the current value and, if the new value is different to the old value, sends a ChangeEvent to all registered listeners.
 
Methods inherited from class javax.swing.AbstractSpinnerModel
addChangeListener, fireStateChanged, getChangeListeners, getListeners, removeChangeListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SpinnerNumberModel

public SpinnerNumberModel()
Creates a SpinnerNumberModel with initial value 0, step 1, and no maximum nor minimum.


SpinnerNumberModel

public SpinnerNumberModel(double value,
                          double minimum,
                          double maximum,
                          double stepSize)
Creates a SpinnerNumberModel with double precision.

Parameters:
value - the initial value
minimum - the minimum value
maximum - the maximum value
stepSize - the step size
Throws:
IllegalArgumentException - if minimum <= value <= maximum does not hold.

SpinnerNumberModel

public SpinnerNumberModel(int value,
                          int minimum,
                          int maximum,
                          int stepSize)
Creates a SpinnerNumberModel with integer precision.

Parameters:
value - the initial value
minimum - the minimum value
maximum - the maximum value
stepSize - the step size
Throws:
IllegalArgumentException - if minimum <= value <= maximum does not hold.

SpinnerNumberModel

public SpinnerNumberModel(Number value,
                          Comparable minimum,
                          Comparable maximum,
                          Number stepSize)
Creates a SpinnerNumberModel with the given attributes. The caller should ensure that both minimum and maximum are serializable.

Parameters:
value - the initial value (null not permitted).
minimum - the minimum value (null permitted).
maximum - the maximum value (null permitted).
stepSize - the step size (null not permitted).
Throws:
IllegalArgumentException - if minimum <= value <= maximum does not hold
IllegalArgumentException - if value is null.
IllegalArgumentException - if stepSize is null.
Method Detail

setValue

public void setValue(Object value)
Sets the current value and, if the new value is different to the old value, sends a ChangeEvent to all registered listeners.

Specified by:
setValue in interface SpinnerModel
Parameters:
value - the new value (null not permitted, must be an instance of Number).
Throws:
IllegalArgumentException - if value is not an instance of Number.

getValue

public Object getValue()
Returns the current value, which for this class is always an instance of Number.

Specified by:
getValue in interface SpinnerModel
Returns:
The current value.
See Also:
getNumber()

getNextValue

public Object getNextValue()
Returns the next value, or null if adding the step size to the current value results in a value greater than the maximum value. The current value is not changed.

Specified by:
getNextValue in interface SpinnerModel
Returns:
The next value, or null if the current value is the maximum value represented by this model.

getPreviousValue

public Object getPreviousValue()
Returns the previous value, or null if subtracting the step size from the current value results in a value less than the minimum value. The current value is not changed.

Specified by:
getPreviousValue in interface SpinnerModel
Returns:
The previous value, or null if the current value is the minimum value represented by this model.

getNumber

public Number getNumber()
Returns the current value.

Returns:
The current value.

getMinimum

public Comparable getMinimum()
Returns the minimum value, or null if there is no minimum.

Returns:
The minimum value.
See Also:
setMinimum(Comparable)

setMinimum

public void setMinimum(Comparable newMinimum)
Sets the minimum value and, if the new value is different to the old value, sends a ChangeEvent to all registered listeners. A null value is interpreted as "no minimum value". No check is made to ensure that the new minimum is less than or equal to the current value, the caller is responsible for ensuring that this relationship holds. In addition, the caller should ensure that newMinimum is Serializable.

Parameters:
newMinimum - the new minimum value (null permitted).
See Also:
getMinimum()

getMaximum

public Comparable getMaximum()
Returns the maximum value, or null if there is no maximum.

Returns:
The maximum value.
See Also:
getMinimum(), setMaximum(Comparable)

setMaximum

public void setMaximum(Comparable newMaximum)
Sets the maximum value and, if the new value is different to the old value, sends a ChangeEvent to all registered listeners. A null value is interpreted as "no maximum value". No check is made to ensure that the new maximum is greater than or equal to the current value, the caller is responsible for ensuring that this relationship holds. In addition, the caller should ensure that newMaximum is Serializable.

Parameters:
newMaximum - the new maximum (null permitted).
See Also:
getMaximum()

getStepSize

public Number getStepSize()
Returns the step size.

Returns:
The step size (never null).

setStepSize

public void setStepSize(Number newStepSize)
Sets the step size and, if the new step size is different to the old step size, sends a ChangeEvent to all registered listeners.

Parameters:
newStepSize - the new step size (null not permitted).
Throws:
IllegalArgumentException - if newStepSize is null.