- すべての実装されたインタフェース:
Serializable
,SpinnerModel
Date
のシーケンスのSpinnerModel
です。 シーケンスの上限と下限は、start
およびend
というプロパティによって定義します。nextValue
メソッドとpreviousValue
メソッドによって計算される増加分または減少分は、calendarField
というプロパティによって定義します。 シーケンスに上限または下限のないことを示すために、start
プロパティおよびend
プロパティをnull
にできます。
calendarField
プロパティの値は、Calendar
内のフィールドを指定するjava.util.Calendar
定数のいずれかである必要があります。 getNextValue
メソッドとgetPreviousValue
メソッドは、この定数に基づいて日付を前後に変更します。 たとえば、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
に変更が通知されます。
- 導入されたバージョン:
- 1.4
- 関連項目:
-
フィールドのサマリー
クラス javax.swing.AbstractSpinnerModelで宣言されたフィールド
listenerList
-
コンストラクタのサマリー
コンストラクタ説明最初のvalue
が現在の日付で、calendarField
がCalendar.DAY_OF_MONTH
に等しく、start
とend
の限度がないSpinnerDateModel
を構築します。SpinnerDateModel
(Date value, Comparable<Date> start, Comparable<Date> end, int calendarField) start
からend
までの日付のシーケンスを表すSpinnerDateModel
を作成します。 -
メソッドのサマリー
修飾子と型メソッド説明int
nextValue
メソッドまたはpreviousValue
メソッドによって加算または減算されたCalendar
フィールドを返します。getDate()
このシーケンスのDate
のうち、現在の要素を返します。getEnd()
シーケンスの最後のDate
を返します。シーケンスの次のDate
を返します。次の日付がend
よりあとの場合はnull
を返します。シーケンスの前のDate
を返します。前の日付がstart
より前の場合はnull
を返します。getStart()
シーケンスの最初のDate
を返します。getValue()
このシーケンスのDate
のうち、現在の要素を返します。void
setCalendarField
(int calendarField) nextValue
メソッドとpreviousValue
メソッドによって計算される日付値変更のサイズを変更します。void
setEnd
(Comparable<Date> end) このシーケンスのDate
の上限を変更します。void
setStart
(Comparable<Date> start) このシーケンスのDateの下限を変更します。void
このシーケンスの現在のDate
を設定します。クラス javax.swing.AbstractSpinnerModelで宣言されたメソッド
addChangeListener, fireStateChanged, getChangeListeners, getListeners, removeChangeListener
-
コンストラクタの詳細
-
SpinnerDateModel
public SpinnerDateModel(Date value, Comparable<Date> start, Comparable<Date> end, int calendarField) start
からend
までの日付のシーケンスを表すSpinnerDateModel
を作成します。nextValue
メソッドとpreviousValue
メソッドは、現在の日付であるvalue
をcalendarField
のタイム・ユニット分前進または後退させて、シーケンスの要素を計算します。Calendar
field
の増加または減少についての詳細は、java.util.Calendar
のadd
メソッドを参照してください。シーケンスの範囲に上限または下限のないことを示すために、
start
パラメータとend
パラメータをnull
にすることができます。value
またはcalendarField
がnull
の場合、あるいはstart
とend
の両方が指定されており、minimum > 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である場合。- 関連項目:
-
SpinnerDateModel
public SpinnerDateModel()最初のvalue
が現在の日付で、calendarField
がCalendar.DAY_OF_MONTH
に等しく、start
とend
の限度がないSpinnerDateModel
を構築します。
-
-
メソッドの詳細
-
setStart
public void setStart(Comparable<Date> start) このシーケンスのDateの下限を変更します。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
public Comparable<Date> getStart()シーケンスの最初のDate
を返します。- 戻り値:
start
プロパティの値- 関連項目:
-
setEnd
public void setEnd(Comparable<Date> end) このシーケンスのDate
の上限を変更します。start
がnull
の場合、上限はありません。 ここでは、境界のチェックは行われません。つまり、新しいstartの値が、コンストラクタによって適用される不変式(start <= value <= end)
を無効にすることがあります。 これは、モデルの更新を単純にするためです。 当然、nextValue
、previousValue
、setValue
の各メソッドを呼び出す前に、不変式がtrueになるようにする必要があります。通常の場合、このプロパティは
Date
ですが、Comparable
でDate
に対するcompareTo
メソッドを使うことができます。 例については、setStart
を参照してください。end
が変更されると、このメソッドはChangeEvent
をトリガーします。- パラメータ:
end
- シーケンスの最後の日付を定義する- 関連項目:
-
getEnd
public Comparable<Date> getEnd()シーケンスの最後のDate
を返します。- 戻り値:
end
プロパティの値- 関連項目:
-
setCalendarField
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
public int getCalendarField()nextValue
メソッドまたはpreviousValue
メソッドによって加算または減算されたCalendar
フィールドを返します。- 戻り値:
calendarField
プロパティの値- 関連項目:
-
getNextValue
public Object getNextValue()シーケンスの次のDate
を返します。次の日付がend
よりあとの場合はnull
を返します。- 定義:
getNextValue
、インタフェースSpinnerModel
- 戻り値:
- シーケンスの次の
Date
。次の日付がend
よりあとの場合はnull
。 - 関連項目:
-
getPreviousValue
public Object getPreviousValue()シーケンスの前のDate
を返します。前の日付がstart
より前の場合はnull
を返します。- 定義:
getPreviousValue
、インタフェースSpinnerModel
- 戻り値:
- シーケンスの前の
Date
。前の日付がstart
より前の場合はnull
- 関連項目:
-
getDate
public Date getDate()このシーケンスのDate
のうち、現在の要素を返します。 このメソッドは、(Date)getValue
と同等です。- 戻り値:
value
プロパティ- 関連項目:
-
getValue
public Object getValue()このシーケンスのDate
のうち、現在の要素を返します。- 定義:
getValue
、インタフェースSpinnerModel
- 戻り値:
value
プロパティ- 関連項目:
-
setValue
public void setValue(Object value) このシーケンスの現在のDate
を設定します。value
がnull
の場合、IllegalArgumentException
がスローされます。 ここでは、境界のチェックは行われません。つまり、新しい値が、コンストラクタによって適用される不変式(start <= value < end)
を無効にすることがあります。 当然、nextValue
、previousValue
、setValue
の各メソッドを呼び出す前に、不変式(start <= value <= maximum)
がtrueになるようにする必要があります。value
が変更されると、このメソッドはChangeEvent
をトリガーします。- 定義:
setValue
、インタフェースSpinnerModel
- パラメータ:
value
- このシーケンスの現在のDate
(null
以外)- 例外:
IllegalArgumentException
- valueがnull
の場合、またはDate
でない場合- 関連項目:
-