クラスSpinnerDateModel
- すべての実装されたインタフェース:
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.ERACalendar.YEARCalendar.MONTHCalendar.WEEK_OF_YEARCalendar.WEEK_OF_MONTHCalendar.DAY_OF_MONTHCalendar.DAY_OF_YEARCalendar.DAY_OF_WEEKCalendar.DAY_OF_WEEK_IN_MONTHCalendar.AM_PMCalendar.HOURCalendar.HOUR_OF_DAYCalendar.MINUTECalendar.SECONDCalendar.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を作成します。 -
メソッドのサマリー
修飾子と型メソッド説明intnextValueメソッドまたはpreviousValueメソッドによって加算または減算されたCalendarフィールドを返します。getDate()このシーケンスのDateのうち、現在の要素を返します。getEnd()シーケンスの最後のDateを返します。シーケンスの次のDateを返します。次の日付がendよりあとの場合はnullを返します。シーケンスの前のDateを返します。前の日付がstartより前の場合はnullを返します。getStart()シーケンスの最初のDateを返します。getValue()このシーケンスのDateのうち、現在の要素を返します。voidsetCalendarField(int calendarField) nextValueメソッドとpreviousValueメソッドによって計算される日付値変更のサイズを変更します。voidsetEnd(Comparable<Date> end) このシーケンスのDateの上限を変更します。voidsetStart(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のタイム・ユニット分前進または後退させて、シーケンスの要素を計算します。Calendarfieldの増加または減少についての詳細は、java.util.Calendarのaddメソッドを参照してください。シーケンスの範囲に上限または下限のないことを示すために、
startパラメータとendパラメータをnullにすることができます。valueまたはcalendarFieldがnullの場合、あるいはstartとendの両方が指定されており、minimum > maximumの場合、IllegalArgumentExceptionがスローされます。 同様に、(minimum <= value <= maximum)がfalseの場合も、IllegalArgumentExceptionがスローされます。- パラメータ:
value- モデルの現在の値(null以外)start- シーケンスの先頭の日付またはnullend- シーケンスの最後の日付またはnullcalendarField- 次のいずれかCalendar.ERACalendar.YEARCalendar.MONTHCalendar.WEEK_OF_YEARCalendar.WEEK_OF_MONTHCalendar.DAY_OF_MONTHCalendar.DAY_OF_YEARCalendar.DAY_OF_WEEKCalendar.DAY_OF_WEEK_IN_MONTHCalendar.AM_PMCalendar.HOURCalendar.HOUR_OF_DAYCalendar.MINUTECalendar.SECONDCalendar.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
-
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
-
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.ERACalendar.YEARCalendar.MONTHCalendar.WEEK_OF_YEARCalendar.WEEK_OF_MONTHCalendar.DAY_OF_MONTHCalendar.DAY_OF_YEARCalendar.DAY_OF_WEEKCalendar.DAY_OF_WEEK_IN_MONTHCalendar.AM_PMCalendar.HOURCalendar.HOUR_OF_DAYCalendar.MINUTECalendar.SECONDCalendar.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でない場合- 関連項目:
-