|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object javax.swing.AbstractSpinnerModel javax.swing.SpinnerDateModel
public class SpinnerDateModel
Date
のシーケンスの SpinnerModel
です。シーケンスの上限と下限は、start
および end
というプロパティーによって定義します。nextValue
メソッドと previousValue
メソッドによって計算される増加分または減少分は、calendarField
というプロパティーによって定義します。シーケンスに上限または下限のないことを示すために、start
プロパティーまたは end
プロパティーを null
にすることができます。
calendarField
プロパティーの値は、Calendar
のフィールドを示す java.util.Calendar
定数のいずれかである必要があります。getNextValue
および getPreviousValue
メソッドは、stepSize
プロパティーの値の分だけ日付を前方または後方に変更します。たとえば、calendarField
が Calendar.DAY_OF_WEEK
の場合、nextValue
は現在の value
の 24 時間後の Date
を生成し、previousValue
は 24 時間前の Date
を生成します。
calendarField
の正当な値は次のとおりです。
Calendar.ERA
Calendar.YEAR
Calendar.MONTH
Calendar.WEEK_OF_YEAR
Calendar.WEEK_OF_MONTH
Calendar.DAY_OF_MONTH
Calendar.DAY_OF_YEAR
Calendar.DAY_OF_WEEK
Calendar.DAY_OF_WEEK_IN_MONTH
Calendar.AM_PM
Calendar.HOUR
Calendar.HOUR_OF_DAY
Calendar.MINUTE
Calendar.SECOND
Calendar.MILLISECOND
このモデルは ChangeListener
を継承します。モデルの value
、calendarField
、start
、end
の各プロパティーが変更されたときには、ChangeListeners
に変更が通知されます。
JSpinner
,
SpinnerModel
,
AbstractSpinnerModel
,
SpinnerListModel
,
SpinnerNumberModel
,
Calendar.add(int, int)
フィールドの概要 |
---|
クラス javax.swing.AbstractSpinnerModel から継承されたフィールド |
---|
listenerList |
コンストラクタの概要 | |
---|---|
SpinnerDateModel()
初期の value が現在の値で、calendarField が Calendar.DAY_OF_MONTH に等しく、start と end に限度がない SpinnerDateModel を構築します。 |
|
SpinnerDateModel(Date value,
Comparable start,
Comparable end,
int calendarField)
start から end までの日付のシーケンスを表す SpinnerDateModel を作成します。 |
メソッドの概要 | |
---|---|
int |
getCalendarField()
nextValue メソッドまたは previousValue メソッドによって加算または減算された Calendar フィールドを返します。 |
Date |
getDate()
このシーケンスの Date のうち、現在の要素を返します。 |
Comparable |
getEnd()
シーケンスの末尾の Date を返します。 |
Object |
getNextValue()
シーケンスの次の Date を返します。 |
Object |
getPreviousValue()
シーケンスの前の Date を返します。 |
Comparable |
getStart()
シーケンスの先頭の Date を返します。 |
Object |
getValue()
このシーケンスの Date のうち、現在の要素を返します。 |
void |
setCalendarField(int calendarField)
nextValue メソッドと previousValue メソッドによって計算される日付値変更のサイズを変更します。 |
void |
setEnd(Comparable end)
このシーケンスの Date の上限を変更します。 |
void |
setStart(Comparable start)
このシーケンスの Date の下限を変更します。 |
void |
setValue(Object value)
このシーケンスの現在の Date を設定します。 |
クラス javax.swing.AbstractSpinnerModel から継承されたメソッド |
---|
addChangeListener, fireStateChanged, getChangeListeners, getListeners, removeChangeListener |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
---|
public SpinnerDateModel(Date value, Comparable start, Comparable end, int calendarField)
start
から end
までの日付のシーケンスを表す SpinnerDateModel
を作成します。nextValue
メソッドと previousValue
メソッドは、現在の日付である value
を calendarField
のタイムユニット分前進または後退させて、シーケンスの要素を計算します。Calendar
field
の増加または減少についての詳細は、java.util.Calendar
の add
メソッドを参照してください。
シーケンスの範囲に上限または下限のないことを示すために、start
パラメータと end
パラメータを null
にすることができます。value
または calendarField
が null
の場合、あるいは start
と end
の両方が指定されており、mininum > maximum
の場合、IllegalArgumentException
がスローされます。同様に、(minimum <= value <= maximum)
が false の場合も、IllegalArgumentException がスローされます。
value
- モデルの現在の値 (null
以外)start
- シーケンスの先頭の日付または null
end
- シーケンスの最後の日付または null
calendarField
- 次のうちのいずれか: Calendar.ERA
Calendar.YEAR
Calendar.MONTH
Calendar.WEEK_OF_YEAR
Calendar.WEEK_OF_MONTH
Calendar.DAY_OF_MONTH
Calendar.DAY_OF_YEAR
Calendar.DAY_OF_WEEK
Calendar.DAY_OF_WEEK_IN_MONTH
Calendar.AM_PM
Calendar.HOUR
Calendar.HOUR_OF_DAY
Calendar.MINUTE
Calendar.SECOND
Calendar.MILLISECOND
IllegalArgumentException
- value
または calendarField
が null
の場合、calendarField
が有効でない場合、または (start <= value <= end)
が false である場合Calendar.add(int, int)
,
setValue(java.lang.Object)
,
setStart(java.lang.Comparable)
,
setEnd(java.lang.Comparable)
,
setCalendarField(int)
public SpinnerDateModel()
value
が現在の値で、calendarField
が Calendar.DAY_OF_MONTH
に等しく、start
と end
に限度がない SpinnerDateModel
を構築します。
メソッドの詳細 |
---|
public void setStart(Comparable start)
start
が null
の場合、下限はありません。ここでは、境界のチェックは行われません。つまり、新しい start の値が、コンストラクタによって適用される不変式 (start <= value <= end)
を無効にすることがあります。これは、モデルの更新を単純にするためです。当然、nextValue
、previousValue
、setValue
の各メソッドを呼び出す前に、不変式が true になるようにする必要があります。
通常、このプロパティーは Date
ですが、Comparable
で Date に対する compareTo
メソッドを使用できます。たとえば、次のように start
をクラスのインスタンスにできます。
MyStartDate implements Comparable { long t = 12345; public int compareTo(Date d) { return (t < d.getTime() ? -1 : (t == d.getTime() ? 0 : 1)); } public int compareTo(Object o) { return compareTo((Date)o); } }上記の例では、
compareTo(Object)
に渡された Object
が Date
でない場合、ClassCastException
がスローされます。
start
が変更されると、このメソッドは ChangeEvent
をトリガーします。
start
- シーケンスの先頭の日付を定義するgetStart()
,
setEnd(java.lang.Comparable)
,
AbstractSpinnerModel.addChangeListener(javax.swing.event.ChangeListener)
public Comparable getStart()
Date
を返します。
start
プロパティーの値setStart(java.lang.Comparable)
public void setEnd(Comparable end)
Date
の上限を変更します。start
が null
の場合、上限はありません。ここでは、境界のチェックは行われません。つまり、新しい start の値が、コンストラクタによって適用される不変式 (start <= value <= end)
を無効にすることがあります。これは、モデルの更新を単純にするためです。当然、nextValue
、previousValue
、setValue
の各メソッドを呼び出す前に、不変式が true になるようにする必要があります。
通常の場合、このプロパティーは Date
ですが、Comparable
で Date
に対する compareTo
メソッドを使うことができます。例については、setStart
を参照してください。
end
が変更されると、このメソッドは ChangeEvent
をトリガーします。
end
- シーケンスの最後の日付を定義するgetEnd()
,
setStart(java.lang.Comparable)
,
AbstractSpinnerModel.addChangeListener(javax.swing.event.ChangeListener)
public Comparable getEnd()
Date
を返します。
end
プロパティーの値setEnd(java.lang.Comparable)
public void setCalendarField(int calendarField)
nextValue
メソッドと previousValue
メソッドによって計算される日付値変更のサイズを変更します。calendarField
パラメータは、Calendar.MONTH
や Calendar.MINUTE
など、Calendar
フィールドの定数のいずれかである必要があります。nextValue
メソッドと previousValue
メソッドは、指定された Calendar
フィールドを、Calendar.add
によって 1 ユニットずつ前後に移動するだけです。一部の UI では calendarField を設定してから、編集を確定してカーソルの下にあるフィールドをスピンできるため、このメソッドを使用するときは注意が必要です。1 フィールドのみをスピンする場合は、setCalendarField の呼び出しをサブクラス化して無視できます。
calendarField
- 次のいずれかCalendar.ERA
Calendar.YEAR
Calendar.MONTH
Calendar.WEEK_OF_YEAR
Calendar.WEEK_OF_MONTH
Calendar.DAY_OF_MONTH
Calendar.DAY_OF_YEAR
Calendar.DAY_OF_WEEK
Calendar.DAY_OF_WEEK_IN_MONTH
Calendar.AM_PM
Calendar.HOUR
Calendar.HOUR_OF_DAY
Calendar.MINUTE
Calendar.SECOND
Calendar.MILLISECOND
calendarField
が変更されると、このメソッドは ChangeEvent
をトリガーします。
getCalendarField()
,
getNextValue()
,
getPreviousValue()
,
Calendar.add(int, int)
,
AbstractSpinnerModel.addChangeListener(javax.swing.event.ChangeListener)
public int getCalendarField()
nextValue
メソッドまたは previousValue
メソッドによって加算または減算された Calendar
フィールドを返します。
calendarField
プロパティーの値setCalendarField(int)
public Object getNextValue()
Date
を返します。次の日付が end
よりあとの場合は null
を返します。
SpinnerModel
内の getNextValue
Date
。次の日付が end
より あとの場合は null
SpinnerModel.getNextValue()
,
getPreviousValue()
,
setCalendarField(int)
public Object getPreviousValue()
Date
を返します。前の日付が start
より前の場合は null
を返します。
SpinnerModel
内の getPreviousValue
Date
。 前の日付が start
より前の場合は null
SpinnerModel.getPreviousValue()
,
getNextValue()
,
setCalendarField(int)
public Date getDate()
Date
のうち、現在の要素を返します。このメソッドは、(Date)getValue
に相当します。
value
プロパティーsetValue(java.lang.Object)
public Object getValue()
Date
のうち、現在の要素を返します。
SpinnerModel
内の getValue
value
プロパティーsetValue(java.lang.Object)
,
getDate()
public void setValue(Object value)
Date
を設定します。value
が null
の場合、IllegalArgumentException
がスローされます。ここでは、境界のチェックは行われません。つまり、新しい値が、コンストラクタによって適用される不変式 (start <= value <= end)
を無効にすることがあります。当然、nextValue
、previousValue
、setValue
の各メソッドを呼び出す前に、不変式 (start <= value <= maximum)
が true になるようにする必要があります。
value
が変更されると、このメソッドは ChangeEvent
をトリガーします。
SpinnerModel
内の setValue
value
- このシーケンスの現在の Date
(null
以外)
IllegalArgumentException
- value が null
の場合、 または Date
でない場合getDate()
,
getValue()
,
AbstractSpinnerModel.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 も参照してください。