- すべての実装されたインタフェース:
Serializable
,SpinnerModel
public class SpinnerDateModel extends AbstractSpinnerModel implements Serializable
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
- 関連項目:
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<Date> start, Comparable<Date> end, int calendarField)
start
からend
までの日付のシーケンスを表すSpinnerDateModel
を作成します。 -
メソッドのサマリー
修飾子と型 メソッド 説明 int
getCalendarField()
nextValue
メソッドまたはpreviousValue
メソッドによって加算または減算されたCalendar
フィールドを返します。Date
getDate()
このシーケンスのDate
のうち、現在の要素を返します。Comparable<Date>
getEnd()
シーケンスの最後のDate
を返します。Object
getNextValue()
シーケンスの次のDate
を返します。次の日付がend
よりあとの場合はnull
を返します。Object
getPreviousValue()
シーケンスの前のDate
を返します。前の日付がstart
より前の場合はnull
を返します。Comparable<Date>
getStart()
シーケンスの最初のDate
を返します。Object
getValue()
このシーケンスのDate
のうち、現在の要素を返します。void
setCalendarField(int calendarField)
nextValue
メソッドとpreviousValue
メソッドによって計算される日付値変更のサイズを変更します。void
setEnd(Comparable<Date> end)
このシーケンスのDate
の上限を変更します。void
setStart(Comparable<Date> start)
このシーケンスのDateの下限を変更します。void
setValue(Object value)
このシーケンスの現在の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である場合。- 関連項目:
Calendar.add(int, int)
,setValue(java.lang.Object)
,setStart(java.lang.Comparable<java.util.Date>)
,setEnd(java.lang.Comparable<java.util.Date>)
,setCalendarField(int)
-
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()
,setEnd(java.lang.Comparable<java.util.Date>)
,AbstractSpinnerModel.addChangeListener(javax.swing.event.ChangeListener)
-
getStart
public Comparable<Date> getStart()シーケンスの最初のDate
を返します。- 戻り値:
start
プロパティの値- 関連項目:
setStart(java.lang.Comparable<java.util.Date>)
-
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()
,setStart(java.lang.Comparable<java.util.Date>)
,AbstractSpinnerModel.addChangeListener(javax.swing.event.ChangeListener)
-
getEnd
public Comparable<Date> getEnd()シーケンスの最後のDate
を返します。- 戻り値:
end
プロパティの値- 関連項目:
setEnd(java.lang.Comparable<java.util.Date>)
-
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()
,getNextValue()
,getPreviousValue()
,Calendar.add(int, int)
,AbstractSpinnerModel.addChangeListener(javax.swing.event.ChangeListener)
-
getCalendarField
public int getCalendarField()nextValue
メソッドまたはpreviousValue
メソッドによって加算または減算されたCalendar
フィールドを返します。- 戻り値:
calendarField
プロパティの値- 関連項目:
setCalendarField(int)
-
getNextValue
public Object getNextValue()シーケンスの次のDate
を返します。次の日付がend
よりあとの場合はnull
を返します。- 定義:
getNextValue
、インタフェース:SpinnerModel
- 戻り値:
- シーケンスの次の
Date
。次の日付がend
よりあとの場合はnull
。 - 関連項目:
SpinnerModel.getNextValue()
,getPreviousValue()
,setCalendarField(int)
-
getPreviousValue
public Object getPreviousValue()シーケンスの前のDate
を返します。前の日付がstart
より前の場合はnull
を返します。- 定義:
getPreviousValue
、インタフェース:SpinnerModel
- 戻り値:
- シーケンスの前の
Date
。前の日付がstart
より前の場合はnull
- 関連項目:
SpinnerModel.getPreviousValue()
,getNextValue()
,setCalendarField(int)
-
getDate
public Date getDate()このシーケンスのDate
のうち、現在の要素を返します。 このメソッドは、(Date)getValue
と同等です。- 戻り値:
value
プロパティ- 関連項目:
setValue(java.lang.Object)
-
getValue
public Object getValue()このシーケンスのDate
のうち、現在の要素を返します。- 定義:
getValue
、インタフェース:SpinnerModel
- 戻り値:
value
プロパティ- 関連項目:
setValue(java.lang.Object)
,getDate()
-
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
でない場合- 関連項目:
getDate()
,getValue()
,AbstractSpinnerModel.addChangeListener(javax.swing.event.ChangeListener)
-