- すべての実装されたインタフェース:
Serializable
,SpinnerModel
SpinnerModel
です。 シーケンスの上限と下限は、minimum
およびmaximum
というプロパティによって定義します。 nextValue
メソッドとpreviousValue
メソッドによって計算される増加分または減少分は、stepSize
というプロパティによって定義します。 シーケンスに上限または下限のないことを示すために、minimum
プロパティおよびmaximum
プロパティをnull
にすることができます。 このクラスのプロパティはすべて、Number
およびComparable
という2つのジェネリック型によって定義するため、Javaの数値型のすべてに対応できます。 内部的には、基本的なNumber
型を持つ値、つまり、Double
、Float
、Long
、Integer
、Short
、Byte
のどれかの型を持つ値しかサポートしていません。
初期値が50で、0から100の整数を表すSpinnerNumberModel
を作成するには、次のように記述できます。
Integer value = Integer.valueOf(50); Integer min = Integer.valueOf(0); Integer max = Integer.valueOf(100); Integer step = Integer.valueOf(1); SpinnerNumberModel model = new SpinnerNumberModel(value, min, max, step); int fifty = model.getNumber().intValue();
Integer型とDouble型のスピナーが一般的なので、これらの型に対応した専用のコンストラクタが用意されています。 たとえば、前の例のモデルを作成する場合、次のように記述することもできます。
SpinnerNumberModel model = new SpinnerNumberModel(50, 0, 100, 1);
このモデルはChangeListener
を継承します。 モデルのvalue
、stepSize
、minimum
、maximum
の各プロパティが変更されたときには、ChangeListeners
に変更が通知されます。
- 導入されたバージョン:
- 1.4
- 関連項目:
-
フィールドのサマリー
クラス javax.swing.AbstractSpinnerModelで宣言されたフィールド
listenerList
-
コンストラクタのサマリー
コンストラクタ説明minimum
またはmaximum
の値がなく、stepSize
が1、初期値が0の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<?>
シーケンスの最後の数値を返します。Comparable<?>
このシーケンスの先頭の数値を返します。シーケンスの次の数値を返します。シーケンスの現在の要素の値を返します。シーケンスの前の数値を返します。getNextValue
メソッドとgetPreviousValue
メソッドによって計算される値変更のサイズを返します。getValue()
シーケンスの現在の要素の値を返します。void
setMaximum
(Comparable<?> maximum) このシーケンスの数値の上限を変更します。void
setMinimum
(Comparable<?> minimum) このシーケンスの数値の下限を変更します。void
setStepSize
(Number stepSize) getNextValue
メソッドとgetPreviousValue
メソッドによって計算される値変更のサイズを変更します。void
このシーケンスの現在値を設定します。クラス javax.swing.AbstractSpinnerModelで宣言されたメソッド
addChangeListener, fireStateChanged, getChangeListeners, getListeners, removeChangeListener
-
コンストラクタの詳細
-
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
の両方が指定されており、minimum > maximum
の場合、IllegalArgumentException
がスローされます。 同様に、(minimum <= value <= maximum
)がfalseの場合も、IllegalArgumentException
がスローされます。- パラメータ:
value
- モデルの現在の値(null
以外)minimum
- シーケンスの先頭の数値またはnull
maximum
- シーケンスの最後の数値またはnull
stepSize
- シーケンスの要素間の差- 例外:
IllegalArgumentException
- stepSizeまたはvalueがnull
の場合、あるいはminimum <= value <= maximum
がfalseの場合
-
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、初期値が0のSpinnerNumberModel
を構築します。
-
-
メソッドの詳細
-
setMinimum
public void setMinimum(Comparable<?> minimum) このシーケンスの数値の下限を変更します。minimum
がnull
の場合、下限はありません。 ここでは、境界のチェックは行われません。つまり、新しいminimum
の値が、コンストラクタによって適用される不変式((minimum <= value <= maximum)
)を無効にすることがあります。 これは、モデルの更新を単純にするためです。当然、getNextValue
、getPreviousValue
、setValue
の各メソッドを呼び出す前に、不変式がtrueになるようにする必要があります。通常、このプロパティは
value
と同じ型のNumber
ですが、Comparable
で、valueと同じ型のNumber
に対するcompareTo
メソッドを使用できます。 たとえば、valueが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
-value
と同じ型のNumber
に対するcompareTo
メソッドを持つComparable
- 関連項目:
-
getMinimum
public Comparable<?> getMinimum()このシーケンスの先頭の数値を返します。- 戻り値:
minimum
プロパティの値- 関連項目:
-
setMaximum
public void setMaximum(Comparable<?> maximum) このシーケンスの数値の上限を変更します。maximum
がnull
の場合、上限はありません。 ここでは、境界のチェックは行われません。つまり、新しいmaximum
の値が、コンストラクタによって適用される不変式((minimum <= value < maximum)
)を無効にすることがあります。 これは、モデルの更新を単純にするためです。当然、next
、previous
、setValue
の各メソッドを呼び出す前に、不変式がtrueになるようにする必要があります。通常、このプロパティは
value
と同じ型のNumber
ですが、Comparable
で、valueと同じ型のNumber
に対するcompareTo
メソッドを使用できます。 例についてはsetMinimum(Comparable)
を参照してください。maximum
が変更されると、このメソッドはChangeEvent
をトリガーします。- パラメータ:
maximum
-value
と同じ型のNumber
に対するcompareTo
メソッドを持つComparable
- 関連項目:
-
getMaximum
public Comparable<?> getMaximum()シーケンスの最後の数値を返します。- 戻り値:
maximum
プロパティの値- 関連項目:
-
setStepSize
public void setStepSize(Number stepSize) getNextValue
メソッドとgetPreviousValue
メソッドによって計算される値変更のサイズを変更します。stepSize
がnull
の場合、IllegalArgumentException
がスローされます。stepSize
が変更されると、このメソッドはChangeEvent
をトリガーします。- パラメータ:
stepSize
-getNextValue
メソッドとgetPreviousValue
メソッドによって計算される値変更のサイズ- 関連項目:
-
getStepSize
public Number getStepSize()getNextValue
メソッドとgetPreviousValue
メソッドによって計算される値変更のサイズを返します。- 戻り値:
stepSize
プロパティの値- 関連項目:
-
getNextValue
public Object getNextValue()シーケンスの次の数値を返します。- 定義:
getNextValue
、インタフェースSpinnerModel
- 戻り値:
value+stepSize
、この値がmaximum
を超える場合はnull
。- 関連項目:
-
getPreviousValue
public Object getPreviousValue()シーケンスの前の数値を返します。- 定義:
getPreviousValue
、インタフェースSpinnerModel
- 戻り値:
value - stepSize
、この値がminimum
未満である場合はnull
。- 関連項目:
-
getNumber
public Number getNumber()シーケンスの現在の要素の値を返します。- 戻り値:
- valueプロパティ
- 関連項目:
-
getValue
public Object getValue()シーケンスの現在の要素の値を返します。- 定義:
getValue
、インタフェースSpinnerModel
- 戻り値:
- valueプロパティ
- 関連項目:
-
setValue
public void setValue(Object value) このシーケンスの現在値を設定します。value
がnull
の場合、あるいはNumber
でない場合、IllegalArgumentException
がスローされます。 ここでは、境界のチェックは行われません。つまり、新しい値が、コンストラクタによって適用される不変式(minimum <= value <= maximum)
を無効にすることがあります。 シーケンスで起こりえない値、つまりstepSize
のモジュロでない値を、値に設定する可能性もあります。 これは、モデルの更新を単純にするためであり、ユーザーが直接入力した値に制限を加えないスピナーに対応するためでもあります。 当然、next
、previous
、setValue
の各メソッドを呼び出す前に、不変式(minimum <= value <= maximum)
がtrueになるようにする必要があります。valueが変更されると、このメソッドは
ChangeEvent
をトリガーします。- 定義:
setValue
、インタフェースSpinnerModel
- パラメータ:
value
- このシーケンスの現在のNumber
(null
以外)- 例外:
IllegalArgumentException
-value
がnull
の場合、またはNumber
でない場合- 関連項目:
-