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, SpinnerDateModellistenerList| コンストラクタと説明 |
|---|
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, removeChangeListenerpublic 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の場合public SpinnerNumberModel(int value,
int minimum,
int maximum,
int stepSize)
value、minimum/maximumバウンド、およびstepSizeでSpinnerNumberModelを構築します。value - モデルの現在値minimum - シーケンスの先頭の数値maximum - シーケンスの最後の数値stepSize - シーケンスの要素間の差IllegalArgumentException - 次の式がfalseの場合: minimum <= value <= maximumpublic 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()
getNextValue、インタフェース: SpinnerModelvalue+stepSize、この値がmaximumを超える場合はnull。SpinnerModel.getNextValue(), getPreviousValue(), setStepSize(java.lang.Number)public Object getPreviousValue()
getPreviousValue、インタフェース: SpinnerModelvalue - stepSize、この値がminimum未満である場合はnull。SpinnerModel.getPreviousValue(), getNextValue(), setStepSize(java.lang.Number)public Number getNumber()
setValue(java.lang.Object)public Object getValue()
getValue、インタフェース: SpinnerModelsetValue(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、インタフェース: SpinnerModelvalue - このシーケンスの現在の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.