- すべての実装されたインタフェース:
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
- 関連項目:
JSpinner
,SpinnerModel
,AbstractSpinnerModel
,SpinnerListModel
,SpinnerDateModel
-
フィールドのサマリー
クラス 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()
,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
ですが、Comparable
で、valueと同じ型のNumber
に対するcompareTo
メソッドを使用できます。 例についてはsetMinimum(Comparable)
を参照してください。maximum
が変更されると、このメソッドはChangeEvent
をトリガーします。- パラメータ:
maximum
-value
と同じ型のNumber
に対するcompareTo
メソッドを持つComparable
- 関連項目:
getMaximum()
,setMinimum(java.lang.Comparable<?>)
,SpinnerModel.addChangeListener(javax.swing.event.ChangeListener)
-
getMaximum
public Comparable<?> getMaximum()シーケンスの最後の数値を返します。- 戻り値:
maximum
プロパティの値- 関連項目:
setMaximum(java.lang.Comparable<?>)
-
setStepSize
public void setStepSize(Number stepSize)getNextValue
メソッドとgetPreviousValue
メソッドによって計算される値変更のサイズを変更します。stepSize
がnull
の場合、IllegalArgumentException
がスローされます。stepSize
が変更されると、このメソッドはChangeEvent
をトリガーします。- パラメータ:
stepSize
-getNextValue
メソッドとgetPreviousValue
メソッドによって計算される値変更のサイズ- 関連項目:
getNextValue()
,getPreviousValue()
,getStepSize()
,SpinnerModel.addChangeListener(javax.swing.event.ChangeListener)
-
getStepSize
public Number getStepSize()getNextValue
メソッドとgetPreviousValue
メソッドによって計算される値変更のサイズを返します。- 戻り値:
stepSize
プロパティの値- 関連項目:
setStepSize(java.lang.Number)
-
getNextValue
public Object getNextValue()シーケンスの次の数値を返します。- 定義:
getNextValue
、インタフェース:SpinnerModel
- 戻り値:
value+stepSize
、この値がmaximum
を超える場合はnull
。- 関連項目:
SpinnerModel.getNextValue()
,getPreviousValue()
,setStepSize(java.lang.Number)
-
getPreviousValue
public Object getPreviousValue()シーケンスの前の数値を返します。- 定義:
getPreviousValue
、インタフェース:SpinnerModel
- 戻り値:
value - stepSize
、この値がminimum
未満である場合はnull
。- 関連項目:
SpinnerModel.getPreviousValue()
,getNextValue()
,setStepSize(java.lang.Number)
-
getNumber
public Number getNumber()シーケンスの現在の要素の値を返します。- 戻り値:
- valueプロパティ
- 関連項目:
setValue(java.lang.Object)
-
getValue
public Object getValue()シーケンスの現在の要素の値を返します。- 定義:
getValue
、インタフェース:SpinnerModel
- 戻り値:
- valueプロパティ
- 関連項目:
setValue(java.lang.Object)
,getNumber()
-
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
でない場合- 関連項目:
getNumber()
,getValue()
,SpinnerModel.addChangeListener(javax.swing.event.ChangeListener)
-