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に変更が通知されます。
JSpinner, SpinnerModel, AbstractSpinnerModel, SpinnerListModel, SpinnerNumberModel, Calendar.add(int, int)listenerList| コンストラクタと説明 | 
|---|
| SpinnerDateModel()最初の valueが現在の日付で、calendarFieldがCalendar.DAY_OF_MONTHに等しく、startとendの限度がないSpinnerDateModelを構築します。 | 
| SpinnerDateModel(Date value, Comparable start, Comparable end, int calendarField)startからendまでの日付のシーケンスを表すSpinnerDateModelを作成します。 | 
| 修飾子と型 | メソッドと説明 | 
|---|---|
| int | getCalendarField()nextValueメソッドまたはpreviousValueメソッドによって加算または減算されたCalendarフィールドを返します。 | 
| Date | getDate()このシーケンスの Dateのうち、現在の要素を返します。 | 
| Comparable | getEnd()シーケンスの最後の Dateを返します。 | 
| Object | getNextValue()シーケンスの次の Dateを返します。次の日付がendよりあとの場合はnullを返します。 | 
| Object | getPreviousValue()シーケンスの前の Dateを返します。前の日付がstartより前の場合はnullを返します。 | 
| Comparable | getStart()シーケンスの最初の Dateを返します。 | 
| Object | getValue()このシーケンスの Dateのうち、現在の要素を返します。 | 
| void | setCalendarField(int calendarField)nextValueメソッドとpreviousValueメソッドによって計算される日付値変更のサイズを変更します。 | 
| void | setEnd(Comparable end)このシーケンスの Dateの上限を変更します。 | 
| void | setStart(Comparable start)このシーケンスのDateの下限を変更します。 | 
| void | setValue(Object value)このシーケンスの現在の Dateを設定します。 | 
addChangeListener, fireStateChanged, getChangeListeners, getListeners, removeChangeListenerpublic SpinnerDateModel(Date value, Comparable start, Comparable 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 - シーケンスの先頭の日付またはnullend - シーケンスの最後の日付またはnullcalendarField - 次のいずれか
   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), setEnd(java.lang.Comparable), setCalendarField(int)public SpinnerDateModel()
valueが現在の日付で、calendarFieldがCalendar.DAY_OF_MONTHに等しく、startとendの限度がないSpinnerDateModelを構築します。public void setStart(Comparable start)
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), AbstractSpinnerModel.addChangeListener(javax.swing.event.ChangeListener)public Comparable getStart()
Dateを返します。startプロパティの値setStart(java.lang.Comparable)public void setEnd(Comparable 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), AbstractSpinnerModel.addChangeListener(javax.swing.event.ChangeListener)public Comparable getEnd()
Dateを返します。endプロパティの値setEnd(java.lang.Comparable)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)public int getCalendarField()
nextValueメソッドまたはpreviousValueメソッドによって加算または減算されたCalendarフィールドを返します。calendarFieldプロパティの値setCalendarField(int)public Object getNextValue()
Dateを返します。次の日付がendよりあとの場合はnullを返します。getNextValue、インタフェース: SpinnerModelDate。次の日付がendよりあとの場合はnull。SpinnerModel.getNextValue(), getPreviousValue(), setCalendarField(int)public Object getPreviousValue()
Dateを返します。前の日付がstartより前の場合はnullを返します。getPreviousValue、インタフェース: SpinnerModelDate。前の日付がstartより前の場合はnullSpinnerModel.getPreviousValue(), getNextValue(), setCalendarField(int)public Date getDate()
Dateのうち、現在の要素を返します。このメソッドは、(Date)getValueと同等です。valueプロパティsetValue(java.lang.Object)public Object getValue()
Dateのうち、現在の要素を返します。getValue、インタフェース: SpinnerModelvalueプロパティsetValue(java.lang.Object), getDate()public void setValue(Object value)
Dateを設定します。valueがnullの場合、IllegalArgumentExceptionがスローされます。ここでは、境界のチェックは行われません。つまり、新しい値が、コンストラクタによって適用される不変式(start <= value < end)を無効にすることがあります。当然、nextValue、previousValue、setValueの各メソッドを呼び出す前に、不変式(start <= value <= maximum)がtrueになるようにする必要があります。
 
 valueが変更されると、このメソッドはChangeEventをトリガーします。
setValue、インタフェース: SpinnerModelvalue - このシーケンスの現在のDate (null以外)IllegalArgumentException - valueがnullの場合、またはDateでない場合getDate(), getValue(), AbstractSpinnerModel.addChangeListener(javax.swing.event.ChangeListener) バグまたは機能を送信 
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
 Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.