| 
 | JavaTM Platform Standard Ed. 6 | |||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjavax.swing.AbstractSpinnerModel
javax.swing.SpinnerNumberModel
public class SpinnerNumberModel
用于数字序列的 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。
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 | 
| 构造方法详细信息 | 
|---|
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 - 该序列中第一个数或 nullmaximum - 该序列中的最后一个数或 nullstepSize - 该序列中元素之间的区别
IllegalArgumentException - 如果 stepSize 或值为 null,或者以下表达式为 false:minimum <= value <= maximum
public SpinnerNumberModel(int value,
                          int minimum,
                          int maximum,
                          int stepSize)
value、minimum/maximum 边界和 stepSize 的 SpinnerNumberModel。
value - 该模式的当前值minimum - 该序列中的第一个数maximum - 该序列中的最后一个数stepSize - 该序列中元素之间的区别
IllegalArgumentException - 如果以下表达式为 false:minimum <= value <= maximum
public SpinnerNumberModel(double value,
                          double minimum,
                          double maximum,
                          double stepSize)
value、minimum/maximum 边界和 stepSize 的 SpinnerNumberModel。
value - 该模式的当前值minimum - 该序列中的第一个数maximum - 该序列中的最后一个数stepSize - 该序列中元素之间的区别
IllegalArgumentException - 如果以下表达式为 false:minimum <= value <= maximumpublic SpinnerNumberModel()
minimum 或 maximum 值、stepSize 等于 1 且初始值为零的 SpinnerNumberModel。
| 方法详细信息 | 
|---|
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)public Comparable getMinimum()
minimum 属性的值setMinimum(java.lang.Comparable)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)public Comparable getMaximum()
maximum 属性的值setMaximum(java.lang.Comparable)public void setStepSize(Number stepSize)
getNextValue 和 getPreviousValue 方法计算的值更改的大小。如果 stepSize 为 null,则抛出一个 IllegalArgumentException。
 
如果 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()
SpinnerModel 中的 getNextValuevalue + stepSize,如果和超过 maximum,则返回 null。SpinnerModel.getNextValue(), 
getPreviousValue(), 
setStepSize(java.lang.Number)public Object getPreviousValue()
SpinnerModel 中的 getPreviousValuevalue - stepSize,如果和小于 minimum,则返回 null。SpinnerModel.getPreviousValue(), 
getNextValue(), 
setStepSize(java.lang.Number)public Number getNumber()
setValue(java.lang.Object)public Object getValue()
SpinnerModel 中的 getValuesetValue(java.lang.Object), 
getNumber()public void setValue(Object value)
value 为 null,或不为 Number,则抛出一个 IllegalArgumentException。此处不进行边界检查;新值可能会使该构造方法强制执行的 (minimum <= value <= maximum) 等式失效。还可以将该值设置为不会在该序列中自然出现的值,即一个不以 stepSize 为模的值。这样做是为了简化更新该模式,也是为了适应不希望限制由用户直接输入的值的 spinner。很自然,调用 next、previous 或 setValue 方法之前应该确保 (minimum <= value <= maximum) 等式为 true。  
 
如果该值已更改,则此方法会激发一个 ChangeEvent。
SpinnerModel 中的 setValuevalue - 此序列的当前(非 null)Number
IllegalArgumentException - 如果 value 为 null 或不为 NumbergetNumber(), 
getValue(), 
SpinnerModel.addChangeListener(javax.swing.event.ChangeListener)| 
 | JavaTM Platform Standard Ed. 6 | |||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。