- すべての実装されたインタフェース:
Serializable
,SpinnerModel
public class SpinnerNumberModel extends AbstractSpinnerModel implements Serializable
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
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 SpinnerNumberModel()
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<?>
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
-
コンストラクタの詳細
-
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)
-