|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.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
- 該序列中第一個數或 null
maximum
- 該序列中的最後一個數或 null
stepSize
- 該序列中元素之間的區別
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 <= maximum
public 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
中的 getNextValue
value + stepSize
,如果和超過 maximum
,則返回 null
。SpinnerModel.getNextValue()
,
getPreviousValue()
,
setStepSize(java.lang.Number)
public Object getPreviousValue()
SpinnerModel
中的 getPreviousValue
value - stepSize
,如果和小於 minimum
,則返回 null
。SpinnerModel.getPreviousValue()
,
getNextValue()
,
setStepSize(java.lang.Number)
public Number getNumber()
setValue(java.lang.Object)
public Object getValue()
SpinnerModel
中的 getValue
setValue(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
中的 setValue
value
- 此序列的當前(非 null
)Number
IllegalArgumentException
- 如果 value
為 null
或不為 Number
getNumber()
,
getValue()
,
SpinnerModel.addChangeListener(javax.swing.event.ChangeListener)
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。