javax.swing
クラス SpinnerNumberModel
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 = 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
に変更が通知されます。
- 導入されたバージョン:
- 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 を構築します。 |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
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
の両方が指定されており、mininum > 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
- minimum <= value <= maximum
が false の場合
SpinnerNumberModel
public SpinnerNumberModel(double value,
double minimum,
double maximum,
double stepSize)
- 指定された
value
、境界 (minimum
/maximum
)、および stepSize
で SpinnerNumberModel
を構築します。
- パラメータ:
value
- モデルの現在値minimum
- シーケンスの先頭の数値maximum
- シーケンスの最後の数値stepSize
- シーケンスの要素間の差
- 例外:
IllegalArgumentException
- minimum <= value <= maximum
が false の場合
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
を参照してください。
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()
- シーケンスの次の数値を返します。
- 定義:
- インタフェース
SpinnerModel
内の getNextValue
- 戻り値:
value + stepSize
、この値が maximum
を超える場合は null
- 関連項目:
SpinnerModel.getNextValue()
,
getPreviousValue()
,
setStepSize(java.lang.Number)
getPreviousValue
public Object getPreviousValue()
- シーケンスの前の数値を返します。
- 定義:
- インタフェース
SpinnerModel
内の getPreviousValue
- 戻り値:
value - stepSize
、この値が minimum
を下回る場合は null
- 関連項目:
SpinnerModel.getPreviousValue()
,
getNextValue()
,
setStepSize(java.lang.Number)
getNumber
public Number getNumber()
- シーケンスの現在の要素の値を返します。
- 戻り値:
- value プロパティ
- 関連項目:
setValue(java.lang.Object)
getValue
public Object getValue()
- シーケンスの現在の要素の値を返します。
- 定義:
- インタフェース
SpinnerModel
内の getValue
- 戻り値:
- value プロパティ
- 関連項目:
setValue(java.lang.Object)
,
getNumber()
setValue
public void setValue(Object value)
- このシーケンスの現在値を設定します。
value
が null
の場合、あるいは Number
でない場合、IllegalArgumentException
がスローされます。ここでは、境界のチェックは行われません。つまり、新しい値が、コンストラクタによって適用される不変式 (minimum <= value <= maximum)
を無効にすることがあります。シーケンスで起こりえない値、つまり stepSize
のモジュロでない値に value を設定する可能性もあります。これは、モデルの更新を単純にするためであり、ユーザが直接入力した値に制限を加えないスピナに対応するためでもあります。当然、next
、previous
、setValue
の各メソッドを呼び出す前に、不変式 (minimum <= value <= maximum)
が true になるようにする必要があります。
value が変更されると、このメソッドは ChangeEvent
をトリガします。
- 定義:
- インタフェース
SpinnerModel
内の setValue
- パラメータ:
value
- このシーケンスの現在の Number
(null
以外)
- 例外:
IllegalArgumentException
- value
が null
の場合、あるいは Number
でない場合- 関連項目:
getNumber()
,
getValue()
,
SpinnerModel.addChangeListener(javax.swing.event.ChangeListener)
バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。 Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.