- すべての実装されたインタフェース:
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
-
フィールドのサマリー
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 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)
-