- すべての実装されたインタフェース:
- 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)
- 
フィールドのサマリー
- 
コンストラクタのサマリーコンストラクタ コンストラクタ 説明 SpinnerDateModel()最初のvalueが現在の日付で、calendarFieldがCalendar.DAY_OF_MONTHに等しく、startとendの限度がないSpinnerDateModelを構築します。SpinnerDateModel(Date value, Comparable<Date> start, Comparable<Date> end, int calendarField)startからendまでの日付のシーケンスを表すSpinnerDateModelを作成します。
- 
メソッドのサマリー修飾子と型 メソッド 説明 intgetCalendarField()nextValueメソッドまたはpreviousValueメソッドによって加算または減算されたCalendarフィールドを返します。DategetDate()このシーケンスのDateのうち、現在の要素を返します。Comparable<Date>getEnd()シーケンスの最後のDateを返します。ObjectgetNextValue()シーケンスの次のDateを返します。次の日付がendよりあとの場合はnullを返します。ObjectgetPreviousValue()シーケンスの前のDateを返します。前の日付がstartより前の場合はnullを返します。Comparable<Date>getStart()シーケンスの最初のDateを返します。ObjectgetValue()このシーケンスのDateのうち、現在の要素を返します。voidsetCalendarField(int calendarField)nextValueメソッドとpreviousValueメソッドによって計算される日付値変更のサイズを変更します。voidsetEnd(Comparable<Date> end)このシーケンスのDateの上限を変更します。voidsetStart(Comparable<Date> start)このシーケンスのDateの下限を変更します。voidsetValue(Object value)このシーケンスの現在のDateを設定します。クラス javax.swing.AbstractSpinnerModelで宣言されたメソッドaddChangeListener, fireStateChanged, getChangeListeners, getListeners, removeChangeListener
- 
コンストラクタの詳細- 
SpinnerDateModelpublic SpinnerDateModel(Date value, Comparable<Date> start, Comparable<Date> end, int calendarField)startからendまでの日付のシーケンスを表すSpinnerDateModelを作成します。nextValueメソッドとpreviousValueメソッドは、現在の日付であるvalueをcalendarFieldのタイム・ユニット分前進または後退させて、シーケンスの要素を計算します。Calendarfieldの増加または減少についての詳細は、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)
 
- 
SpinnerDateModelpublic SpinnerDateModel()最初のvalueが現在の日付で、calendarFieldがCalendar.DAY_OF_MONTHに等しく、startとendの限度がないSpinnerDateModelを構築します。
 
- 
- 
メソッドの詳細- 
setStartpublic 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)
 
- 
getStartpublic Comparable<Date> getStart()シーケンスの最初のDateを返します。- 戻り値:
- startプロパティの値
- 関連項目:
- setStart(java.lang.Comparable<java.util.Date>)
 
- 
setEndpublic 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)
 
- 
getEndpublic Comparable<Date> getEnd()シーケンスの最後のDateを返します。- 戻り値:
- endプロパティの値
- 関連項目:
- setEnd(java.lang.Comparable<java.util.Date>)
 
- 
setCalendarFieldpublic 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)
 
- 
getCalendarFieldpublic int getCalendarField()nextValueメソッドまたはpreviousValueメソッドによって加算または減算されたCalendarフィールドを返します。- 戻り値:
- calendarFieldプロパティの値
- 関連項目:
- setCalendarField(int)
 
- 
getNextValuepublic Object getNextValue()シーケンスの次のDateを返します。次の日付がendよりあとの場合はnullを返します。- 定義:
- getNextValue、インタフェース:- SpinnerModel
- 戻り値:
- シーケンスの次のDate。次の日付がendよりあとの場合はnull。
- 関連項目:
- SpinnerModel.getNextValue(),- getPreviousValue(),- setCalendarField(int)
 
- 
getPreviousValuepublic Object getPreviousValue()シーケンスの前のDateを返します。前の日付がstartより前の場合はnullを返します。- 定義:
- getPreviousValue、インタフェース:- SpinnerModel
- 戻り値:
- シーケンスの前のDate。前の日付がstartより前の場合はnull
- 関連項目:
- SpinnerModel.getPreviousValue(),- getNextValue(),- setCalendarField(int)
 
- 
getDatepublic Date getDate()このシーケンスのDateのうち、現在の要素を返します。 このメソッドは、(Date)getValueと同等です。- 戻り値:
- valueプロパティ
- 関連項目:
- setValue(java.lang.Object)
 
- 
getValuepublic Object getValue()このシーケンスのDateのうち、現在の要素を返します。- 定義:
- getValue、インタフェース:- SpinnerModel
- 戻り値:
- valueプロパティ
- 関連項目:
- setValue(java.lang.Object),- getDate()
 
- 
setValuepublic 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)
 
 
-