- java.lang.Object
 - 
- javax.swing.AbstractSpinnerModel
 - 
- javax.swing.SpinnerNumberModel
 
 
 
- 
- すべての実装されたインタフェース:
 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()このシーケンスの先頭の数値を返します。ObjectgetNextValue()シーケンスの次の数値を返します。NumbergetNumber()シーケンスの現在の要素の値を返します。ObjectgetPreviousValue()シーケンスの前の数値を返します。NumbergetStepSize()getNextValueメソッドとgetPreviousValueメソッドによって計算される値変更のサイズを返します。ObjectgetValue()シーケンスの現在の要素の値を返します。voidsetMaximum(Comparable<?> maximum)このシーケンスの数値の上限を変更します。voidsetMinimum(Comparable<?> minimum)このシーケンスの数値の下限を変更します。voidsetStepSize(Number stepSize)getNextValueメソッドとgetPreviousValueメソッドによって計算される値変更のサイズを変更します。voidsetValue(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- シーケンスの先頭の数値またはnullmaximum- シーケンスの最後の数値またはnullstepSize- シーケンスの要素間の差- 例外:
 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)
 
 - 
 
 -