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 。
要创建一个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();
用于整数和双打的旋转器是常见的,因此提供了这些情况的特殊构造函数。 例如,在前面的例子中创建模型,还可以写:
SpinnerNumberModel model = new SpinnerNumberModel(50, 0, 100, 1);
此模型继承了ChangeListener 。 该ChangeListeners通知每当模型value , stepSize , minimum ,或maximum性能的变化。
JSpinner , SpinnerModel , AbstractSpinnerModel , SpinnerListModel , SpinnerDateModel
listenerList| Constructor and Description |
|---|
SpinnerNumberModel()
构造一个
SpinnerNumberModel ,没有
minimum或
maximum值,
stepSize等于1,初始值为零。
|
SpinnerNumberModel(double value, double minimum, double maximum, double stepSize)
构造一个
SpinnerNumberModel具有指定
value ,
minimum /
maximum界限,和
stepSize 。
|
SpinnerNumberModel(int value, int minimum, int maximum, int stepSize)
构造一个
SpinnerNumberModel具有指定
value ,
minimum /
maximum界限,和
stepSize 。
|
SpinnerNumberModel(Number value, Comparable minimum, Comparable maximum, Number stepSize)
构造一个
SpinnerModel ,表示从
minimum到
maximum一个封闭序列。
|
| Modifier and Type | Method and Description |
|---|---|
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)
设置此序列的当前值。
|
addChangeListener, fireStateChanged, getChangeListeners, getListeners, removeChangeListenerpublic SpinnerNumberModel(Number value, Comparable minimum, Comparable maximum, Number stepSize)
SpinnerModel ,代表从minimum到maximum一个封闭序列。
nextValue和previousValue方法通过分别加或减stepSize来计算序列的元素。
所有参数必须是相互Comparable , value和stepSize必须的情况下Integer Long , Float ,或Double 。
minimum和maximum参数可以是null来表示范围没有上限或下限。 如果value或stepSize是null ,或者如果两个minimum和maximum指定和minimum > maximum那么IllegalArgumentException被抛出。 类似地,如果(minimum <= value <= maximum )为false,则抛出IllegalArgumentException 。
value - 模型的当前(非
null )值
minimum - 序列中的第一个数字或
null
maximum - 序列中的最后一个数字或
null
stepSize - 序列元素之间的差异
IllegalArgumentException - 如果stepSize或值为
null或如果以下表达式为false:
minimum <= value <= maximum
public SpinnerNumberModel(int value,
int minimum,
int maximum,
int stepSize)
SpinnerNumberModel具有指定
value ,
minimum /
maximum界限,和
stepSize 。
value - 模型的当前值
minimum - 序列中的第一个数字
maximum - 序列中的最后一个数字
stepSize - 序列元素之间的差异
IllegalArgumentException - 如果以下表达式为false:
minimum <= value <= maximum
public SpinnerNumberModel(double value,
double minimum,
double maximum,
double stepSize)
SpinnerNumberModel具有指定
value ,
minimum /
maximum界限,和
stepSize 。
value - 模型的当前值
minimum - 序列中的第一个数字
maximum - 序列中的最后一个数字
stepSize - 序列元素之间的差异
IllegalArgumentException - 如果以下表达式为false:
minimum <= value <= maximum
public SpinnerNumberModel()
SpinnerNumberModel ,没有
minimum或
maximum值,
stepSize等于1,初始值为零。
public void setMinimum(Comparable minimum)
minimum是null ,那么没有下限。
没有限制检查在这里完成
新的minimum值可能会使(minimum <= value <= maximum)函数执行的(minimum <= value <= maximum)不变量无效。
这是为了简化更新该模式,自然应该确保该等式是调用之前真正getNextValue , getPreviousValue ,或setValue方法。
典型地,这个属性是一个Number的相同类型的value然而有可能使用任何Comparable与compareTo方法用于Number用相同类型作为值。 例如,如果值是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 ,具有
compareTo的
Number与
Number相同的
value
getMinimum() ,
setMaximum(java.lang.Comparable) ,
SpinnerModel.addChangeListener(javax.swing.event.ChangeListener)
public Comparable getMinimum()
minimum财产
setMinimum(java.lang.Comparable)
public void setMaximum(Comparable maximum)
maximum是null ,那么没有上限。
没有限制检查在这里完成
新的maximum值可能会使(minimum <= value < maximum)函数执行的(minimum <= value < maximum)不变量失效。
这是为了简化更新该模式,自然应该确保该等式是调用之前真正next , previous ,或setValue方法。
典型地,这个属性是一个Number的相同类型的value然而有可能使用任何Comparable与compareTo方法用于Number用相同类型作为值。 参见setMinimum的一个例子。
如果maximum已更改,此方法将触发ChangeEvent 。
maximum -一个
Comparable具有
compareTo为方法
Number s的相同类型
value
getMaximum() ,
setMinimum(java.lang.Comparable) ,
SpinnerModel.addChangeListener(javax.swing.event.ChangeListener)
public Comparable getMaximum()
maximum属性
setMaximum(java.lang.Comparable)
public void setStepSize(Number stepSize)
getNextValue和getPreviousValue方法计算的值变化的大小。
一个IllegalArgumentException如果抛出stepSize是null 。
如果stepSize已更改,此方法将触发ChangeEvent 。
stepSize - 由
getNextValue和
getPreviousValue方法计算的价值变动的大小
getNextValue() ,
getPreviousValue() ,
getStepSize() ,
SpinnerModel.addChangeListener(javax.swing.event.ChangeListener)
public Number getStepSize()
getNextValue和
getPreviousValue方法计算的值变化的大小。
stepSize属性
setStepSize(java.lang.Number)
public Object getNextValue()
getNextValue在界面
SpinnerModel
value + stepSize或
null如果总和超过
maximum 。
SpinnerModel.getNextValue() ,
getPreviousValue() ,
setStepSize(java.lang.Number)
public Object getPreviousValue()
getPreviousValue在接口
SpinnerModel
value - stepSize或
null如果总和小于
minimum 。
SpinnerModel.getPreviousValue() ,
getNextValue() ,
setStepSize(java.lang.Number)
public Number getNumber()
setValue(java.lang.Object)
public Object getValue()
getValue在界面
SpinnerModel
setValue(java.lang.Object) ,
getNumber()
public void setValue(Object value)
value是null ,或者不是Number ,则抛出一个IllegalArgumentException 。
没有限制检查在这里完成
新值可能使(minimum <= value <= maximum)函数执行的(minimum <= value <= maximum)不变量无效。
也可以将该值设置为序列中不会自然发生的值,即不对stepSize进行模数化的stepSize 。
这是为了简化更新模型,并适应不想限制用户直接输入的值的旋转器。
当然,应该确保(minimum <= value <= maximum)不变的是调用之前真正next , previous ,或setValue方法。
如果值已更改,此方法将触发ChangeEvent 。
setValue在界面
SpinnerModel
value - 该序列的当前(非
null )
Number
IllegalArgumentException - 如果
value是
null或不是
Number
getNumber() ,
getValue() ,
SpinnerModel.addChangeListener(javax.swing.event.ChangeListener)
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.