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 = new Integer(50); Integer min = new Integer(0); Integer max = new Integer(100); Integer step = new Integer(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
に変更が通知されます。
JSpinner
, SpinnerModel
, AbstractSpinnerModel
, SpinnerListModel
, SpinnerDateModel
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)
このシーケンスの現在値を設定します。
|
addChangeListener, fireStateChanged, getChangeListeners, getListeners, removeChangeListener
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の場合public SpinnerNumberModel(int value, int minimum, int maximum, int stepSize)
value
、minimum
/maximum
バウンド、およびstepSize
でSpinnerNumberModel
を構築します。value
- モデルの現在値minimum
- シーケンスの先頭の数値maximum
- シーケンスの最後の数値stepSize
- シーケンスの要素間の差IllegalArgumentException
- 次の式がfalseの場合: minimum <= value <= maximum
public SpinnerNumberModel(double value, double minimum, double maximum, double stepSize)
value
、minimum
/maximum
バウンド、およびstepSize
でSpinnerNumberModel
を構築します。value
- モデルの現在値minimum
- シーケンスの先頭の数値maximum
- シーケンスの最後の数値stepSize
- シーケンスの要素間の差IllegalArgumentException
- 次の式がfalseの場合: minimum <= value <= maximum
public SpinnerNumberModel()
minimum
またはmaximum
の値がなく、stepSize
が1、初期値が0のSpinnerNumberModel
を構築します。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)
public Comparable getMinimum()
minimum
プロパティの値setMinimum(java.lang.Comparable)
public void setMaximum(Comparable maximum)
maximum
がnull
の場合、上限はありません。ここでは、境界のチェックは行われません。つまり、新しいmaximum
の値が、コンストラクタによって適用される不変式((minimum <= value < maximum)
)を無効にすることがあります。これは、モデルの更新を単純にするためです。当然、next
、previous
、setValue
の各メソッドを呼び出す前に、不変式がtrueになるようにする必要があります。
通常、このプロパティはvalue
と同じ型のNumber
ですが、Comparable
で、valueと同じ型のNumber
に対するcompareTo
メソッドを使用できます。例については、setMinimum
を参照してください。
maximum
が変更されると、このメソッドはChangeEvent
をトリガーします。
maximum
- value
と同じ型のNumber
に対するcompareTo
メソッドを持つComparable
getMaximum()
, setMinimum(java.lang.Comparable)
, SpinnerModel.addChangeListener(javax.swing.event.ChangeListener)
public Comparable getMaximum()
maximum
プロパティの値setMaximum(java.lang.Comparable)
public void setStepSize(Number stepSize)
getNextValue
メソッドとgetPreviousValue
メソッドによって計算される値変更のサイズを変更します。stepSize
がnull
の場合、IllegalArgumentException
がスローされます。
stepSize
が変更されると、このメソッドはChangeEvent
をトリガーします。
stepSize
- getNextValue
メソッドとgetPreviousValue
メソッドによって計算される値変更のサイズgetNextValue()
, getPreviousValue()
, getStepSize()
, SpinnerModel.addChangeListener(javax.swing.event.ChangeListener)
public Number getStepSize()
getNextValue
メソッドとgetPreviousValue
メソッドによって計算される値変更のサイズを返します。stepSize
プロパティの値setStepSize(java.lang.Number)
public Object getNextValue()
getNextValue
、インタフェース: SpinnerModel
value+stepSize
、この値がmaximum
を超える場合はnull
。SpinnerModel.getNextValue()
, getPreviousValue()
, setStepSize(java.lang.Number)
public Object getPreviousValue()
getPreviousValue
、インタフェース: SpinnerModel
value - stepSize
、この値がminimum
未満である場合はnull
。SpinnerModel.getPreviousValue()
, getNextValue()
, setStepSize(java.lang.Number)
public Number getNumber()
setValue(java.lang.Object)
public Object getValue()
getValue
、インタフェース: SpinnerModel
setValue(java.lang.Object)
, getNumber()
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)
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.