|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
javax.swing
类 SpinnerNumberModel
java.lang.Object javax.swing.AbstractSpinnerModel javax.swing.SpinnerNumberModel
- 所有已实现的接口:
- Serializable, SpinnerModel
-
public class SpinnerNumberModel
- extends AbstractSpinnerModel
- implements Serializable
用于数字序列的 SpinnerModel
。该序列的上下边界由名为 minimum
和 maximum
的属性定义。nextValue
和 previousValue
方法计算的增加或减少的大小由名为 stepSize
的属性定义。该 minimum
和 maximum
属性可以为 null
,指示该序列没有下限和上限。此类中的所有属性都根据以下两个一般类型定义:Number
和 Comparable
,以便适应所有 Java 数字类型。在内部,仅支持其类型为以下某个基本 Number
类型的值:Double
、Float
、Long
、Integer
、Short
或 Byte
。
要创建从 0 到 100 整数范围(初始值为 50)的 SpinnerNumberModel
,可以写入:
Integer value = new Integer(50); Integer min = new Integer(0); Integer max = new Integer(100); Integer step = new Integer(1); SpinnerNumberModel model = new SpinnerNumberModel(value, min, max, step); int fifty = model.getNumber().intValue();
Integer 和 double 的 spinner 是很常见的,因此提供了针对这些情况的特殊构造方法。例如,要创建前一示例中的模式,也可以写入:
SpinnerNumberModel model = new SpinnerNumberModel(50, 0, 100, 1);
此模式继承的是一个 ChangeListener
。每当该模式的 value
、stepSize
、minimum
或 maximum
属性发生变化时,就会通知该 ChangeListeners
。
- 从以下版本开始:
- 1.4
- 另请参见:
JSpinner
,SpinnerModel
,AbstractSpinnerModel
,SpinnerListModel
,SpinnerDateModel
字段摘要 |
---|
从类 javax.swing.AbstractSpinnerModel 继承的字段 |
---|
listenerList |
构造方法摘要 | |
---|---|
SpinnerNumberModel() 构造一个没有 minimum 或 maximum 值、stepSize 等于 1 且初始值为零的 SpinnerNumberModel 。 |
|
SpinnerNumberModel(double value, double minimum, double maximum, double stepSize) 构造一个具有指定 value 、minimum /maximum 边界和 stepSize 的 SpinnerNumberModel 。 |
|
SpinnerNumberModel(int value, int minimum, int maximum, int stepSize) 构造一个具有指定 value 、minimum /maximum 边界和 stepSize 的 SpinnerNumberModel 。 |
|
SpinnerNumberModel(Number value, Comparable minimum, Comparable maximum, Number stepSize) 构造一个表示从 minimum 到 maximum 的闭区间数字序列的 SpinnerModel 。 |
方法摘要 | |
---|---|
Comparable |
getMaximum() 返回该序列中的最后一个数字。 |
Comparable |
getMinimum() 返回此序列中的第一个数字。 |
Object |
getNextValue() 返回该序列中的下一个数字。 |
Number |
getNumber() 返回该序列的当前元素的值。 |
Object |
getPreviousValue() 返回该序列中的上一个数字。 |
Number |
getStepSize() 返回由 getNextValue 和 getPreviousValue 方法计算的值更改的大小。 |
Object |
getValue() 返回该序列的当前元素的值。 |
void |
setMaximum(Comparable maximum) 更改此序列中数字的上边界。 |
void |
setMinimum(Comparable minimum) 更改此序列中数字的下边界。 |
void |
setStepSize(Number stepSize) 更改由 getNextValue 和 getPreviousValue 方法计算的值更改的大小。 |
void |
setValue(Object value) 设置此序列的当前元素。 |
从类 javax.swing.AbstractSpinnerModel 继承的方法 |
---|
addChangeListener, fireStateChanged, getChangeListeners, getListeners, removeChangeListener |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
SpinnerNumberModel
public SpinnerNumberModel(Number value, Comparable minimum, Comparable maximum, Number stepSize)
-
构造一个表示从
minimum
到maximum
的闭区间数字序列的SpinnerModel
。nextValue
和previousValue
方法通过分别添加或减去stepSize
计算该序列的元素。所有参数必须是相互Comparable
的,value
和stepSize
必须是Integer
Long
、Float
或Double
的实例。该
minimum
和maximum
参数可以为null
,指示该范围没有上下边界。如果value
或stepSize
为null
,或者minimum
和maximum
两者都是指定值,且mininum > maximum
,则抛出一个IllegalArgumentException
。同样,如果(minimum <= value <= maximum)
为 false,则抛出一个IllegalArgumentException
。- 参数:
value
- 该模式的当前(非null
)值minimum
- 该序列中第一个数或null
maximum
- 该序列中的最后一个数或null
stepSize
- 该序列中元素之间的区别- 抛出:
IllegalArgumentException
- 如果 stepSize 或值为null
,或者以下表达式为 false:minimum <= value <= maximum
SpinnerNumberModel
public SpinnerNumberModel(int value, int minimum, int maximum, int stepSize)
-
构造一个具有指定
value
、minimum
/maximum
边界和stepSize
的SpinnerNumberModel
。- 参数:
value
- 该模式的当前值minimum
- 该序列中的第一个数maximum
- 该序列中的最后一个数stepSize
- 该序列中元素之间的区别- 抛出:
IllegalArgumentException
- 如果以下表达式为 false:minimum <= value <= maximum
SpinnerNumberModel
public SpinnerNumberModel(double value, double minimum, double maximum, double stepSize)
-
构造一个具有指定
value
、minimum
/maximum
边界和stepSize
的SpinnerNumberModel
。- 参数:
value
- 该模式的当前值minimum
- 该序列中的第一个数maximum
- 该序列中的最后一个数stepSize
- 该序列中元素之间的区别- 抛出:
IllegalArgumentException
- 如果以下表达式为 false:minimum <= value <= maximum
SpinnerNumberModel
public SpinnerNumberModel()
-
构造一个没有
minimum
或maximum
值、stepSize
等于 1 且初始值为零的SpinnerNumberModel
。
方法详细信息 |
---|
setMinimum
public void setMinimum(Comparable minimum)
-
更改此序列中数字的下边界。如果
minimum
为null
,则不存在下边界。此处不进行边界检查;新minimum
值可能会使该构造方法强制执行的(minimum <= value <= maximum)
等式失效。这样可以简化更新该模式,调用getNextValue
、getPreviousValue
或setValue
方法之前自然应该确保该等式为 true。通常,此属性是一个与
value
同一类型的Number
,但是,与该值同一类型Number
可以使用具有compareTo
方法的任何Comparable
。例如,如果值为Long
,则minimum
可能是一个这样定义的 Date 子类:MyDate extends Date { // Date already implements Comparable public int compareTo(Long o) { long t = getTime(); return (t < o.longValue() ? -1 : (t == o.longValue() ? 0 : 1)); } }
如果
minimum
已经更改,则此方法会激发一个ChangeEvent
。 -
-
- 参数:
minimum
- 一个Comparable
,它具有与value
同一类型的Number
的compareTo
方法- 另请参见:
getMinimum()
,setMaximum(java.lang.Comparable)
,SpinnerModel.addChangeListener(javax.swing.event.ChangeListener)
getMinimum
public Comparable getMinimum()
- 返回此序列中的第一个数字。
-
-
- 返回:
-
该
minimum
属性的值 - 另请参见:
setMinimum(java.lang.Comparable)
setMaximum
public void setMaximum(Comparable maximum)
-
更改此序列中数字的上边界。如果
maximum
为null
,则不存在上边界。此处不进行边界检查;新maximum
值可能会使该构造方法强制执行的(minimum <= value < maximum)
等式失效。这样可以简化更新该模式,调用next
、previous
或setValue
方法之前自然应该确保该等式为 true。通常,此属性是一个与
value
同一类型的Number
,但是,与该值同一类型Number
可以使用具有compareTo
方法的任何Comparable
。有关示例,请参阅setMinimum
。如果
maximum
已经更改,则此方法会激发一个ChangeEvent
。 -
-
- 参数:
maximum
- 一个Comparable
,它具有与value
同一类型的Number
的compareTo
方法- 另请参见:
setMinimum(java.lang.Comparable)
,SpinnerModel.addChangeListener(javax.swing.event.ChangeListener)
getMaximum
public Comparable getMaximum()
- 返回该序列中的最后一个数字。
-
-
- 返回:
-
该
maximum
属性的值 - 另请参见:
setMaximum(java.lang.Comparable)