- java.lang.Object
-
- javax.swing.AbstractSpinnerModel
-
- javax.swing.SpinnerDateModel
-
- すべての実装されたインタフェース:
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.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
- 関連項目:
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を作成します。
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 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
-
-
-
-
コンストラクタの詳細
-
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である場合。- 関連項目:
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.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(),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)
-
-