|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjavax.swing.AbstractSpinnerModel
javax.swing.SpinnerNumberModel
public class SpinnerNumberModel
数値のシーケンスを表す 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| フィールドの概要 |
|---|
| クラス 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 |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| コンストラクタの詳細 |
|---|
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 - シーケンスの先頭の数値または nullmaximum - シーケンスの最後の数値または nullstepSize - シーケンスの要素間の差
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 <= maximumpublic 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 メソッドを持つ ComparablegetMinimum(),
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 メソッドを持つ ComparablegetMaximum(),
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()
SpinnerModel 内の getNextValuevalue + stepSize、この値が maximum を超える場合は nullSpinnerModel.getNextValue(),
getPreviousValue(),
setStepSize(java.lang.Number)public Object getPreviousValue()
SpinnerModel 内の getPreviousValuevalue - stepSize、この値が minimum 未満である場合は null.SpinnerModel.getPreviousValue(),
getNextValue(),
setStepSize(java.lang.Number)public Number getNumber()
setValue(java.lang.Object)public Object getValue()
SpinnerModel 内の getValuesetValue(java.lang.Object),
getNumber()public void setValue(Object value)
value が null の場合、あるいは Number でない場合、IllegalArgumentException がスローされます。ここでは、境界のチェックは行われません。つまり、新しい値が、コンストラクタによって適用される不変式 (minimum <= value <= maximum) を無効にすることがあります。シーケンスで起こりえない値、つまり stepSize のモジュロでない値に value を設定する可能性もあります。これは、モデルの更新を単純にするためであり、ユーザーが直接入力した値に制限を加えないスピナーに対応するためでもあります。当然、next、previous、setValue の各メソッドを呼び出す前に、不変式 (minimum <= value <= maximum) が true になるようにする必要があります。
value が変更されると、このメソッドは ChangeEvent をトリガーします。
SpinnerModel 内の setValuevalue - このシーケンスの現在の Number (null 以外)
IllegalArgumentException - value が null の場合、または Number でない場合getNumber(),
getValue(),
SpinnerModel.addChangeListener(javax.swing.event.ChangeListener)
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。