public class SpinnerDateModel extends AbstractSpinnerModel implements Serializable
SpinnerModel为Date的Date 。 
       序列的上限和下限被称为属性定义start和end ,并通过所计算的增加或减少的大小nextValue种previousValue方法由称为属性定义calendarField 。 
       start和end属性可以是null以表示序列没有下限或上限。 
        该值calendarField属性必须是一个java.util.Calendar一个内指定一个字段的常量Calendar 。 getNextValue和getPreviousValue方法将日期向前或向后更改此金额。 例如,如果calendarField是Calendar.DAY_OF_WEEK ,则nextValue产生Date这是24小时后的电流value和previousValue产生Date这之前24小时。 
 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 。 该ChangeListeners通知每当型号value , calendarField , start ,或end性能的变化。 
JSpinner , SpinnerModel , AbstractSpinnerModel , SpinnerListModel , SpinnerNumberModel , Calendar.add(int, int) 
       listenerList| Constructor and Description | 
|---|
| SpinnerDateModel()
              构造一个 
              SpinnerDateModel,其初始value是当前日期,calendarField等于Calendar.DAY_OF_MONTH,以及用于其中有没有start/end限制。 | 
| SpinnerDateModel(Date value, Comparable start, Comparable end, int calendarField)
              创建一个 
              SpinnerDateModel,代表start和end之间的日期序列。 | 
| Modifier and Type | Method and Description | 
|---|---|
| int | getCalendarField()
              返回 
              nextValue和previousValue方法添加或减去的Calendar字段。 | 
| Date | getDate()
              返回 
              Date的序列中的当前元素。 | 
| Comparable | getEnd()
              返回序列中的最后 
              Date。 | 
| Object | getNextValue()
              返回下一个 
              Date序列中,或null如果下一个日期是后end。 | 
| Object | getPreviousValue()
              返回以前 
              Date的顺序,或null,如果上一个日期是前start。 | 
| Comparable | getStart()
              返回序列中的第一个 
              Date。 | 
| Object | getValue()
              返回此序列中的当前元素 
              Dates。 | 
| void | setCalendarField(int calendarField)
              更改由 
              nextValue和previousValue方法计算的日期值更改的大小。 | 
| void | setEnd(Comparable end)
              按此顺序更改 
              Date的上限。 | 
| void | setStart(Comparable start)
              更改此顺序中日期的下限。 
             | 
| void | setValue(Object value)
              设置此序列的当前 
              Date。 | 
addChangeListener, fireStateChanged, getChangeListeners, getListeners, removeChangeListenerpublic SpinnerDateModel(Date value, Comparable start, Comparable end, int calendarField)
SpinnerDateModel ,表示start和end之间的日期序列。 
           nextValue和previousValue方法通过按照calendarField时间单位推进或反转当前日期value来计算序列的元素。 
           对于意味着什么递增或递减一个精确的描述Calendar field ,参见add在方法java.util.Calendar 。 
            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无效,或者如果以下表达式为false: 
            (start <= value <= end) 。 
           Calendar.add(int, int) , 
            setValue(java.lang.Object) , 
            setStart(java.lang.Comparable) , 
            setEnd(java.lang.Comparable) , 
            setCalendarField(int) 
           public SpinnerDateModel()
SpinnerDateModel ,其初始 
           value是当前日期, 
           calendarField等于 
           Calendar.DAY_OF_MONTH ,以及用于其中有没有 
           start / 
           end限制。 
          public void setStart(Comparable start)
start是null ,那么没有下限。 
           在这里没有边界检查:新的起始值可能使(start <= value <= end)函数执行的(start <= value <= end)不变量无效。 
           这是为了简化更新模型。 
           当然应该保证不变的是调用之前真正nextValue , previousValue ,或setValue方法。 
            通常这个属性是Date但是可以使用Comparable和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);
     }
 }  
           注意上面的例子会抛出一个ClassCastException如果Object传递给compareTo(Object)不是一个Date 。 
            如果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 <= value <= end)函数执行的885326525245不变量无效。 
           这是为了简化更新模型。 
           当然,应该保证不变的是调用之前真正nextValue , previousValue ,或setValue方法。 
            通常这个属性是Date但是对于Date s可以使用Comparable 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字段常量之一,如Calendar.MONTH或Calendar.MINUTE 。 
           的nextValue种previousValue方法简单地移动至指定的Calendar由一个单元与场向前或向后Calendar.add方法。 
           您应该谨慎使用此方法,因为一些UI可能会在提交编辑之前设置calendarField以旋转光标下的字段。 
           如果你只想要一个字段旋转,你可以子类化并忽略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序列中,或 
           null如果下一个日期是后 
           end 。 
          getNextValue在接口 
            SpinnerModel 
           Date顺序,或 
            null如果下一个日期是在 
            end之后。 
           SpinnerModel.getNextValue() , 
            getPreviousValue() , 
            setCalendarField(int) 
           public Object getPreviousValue()
Date的顺序,或 
           null ,如果上一个日期是前 
           start 。 
          getPreviousValue在接口 
            SpinnerModel 
           Date顺序,或 
            null如果以前的日期是在 
            start之前 
           SpinnerModel.getPreviousValue() , 
            getNextValue() , 
            setCalendarField(int) 
           public Date getDate()
Date s。 
           此方法相当于(Date)getValue 。 
          value属性 
           setValue(java.lang.Object) 
           public Object getValue()
Date的序列中的当前元素。 
          getValue在接口 
            SpinnerModel 
           value属性 
           setValue(java.lang.Object) , 
            getDate() 
           public void setValue(Object value)
Date 。 
           如果value是null ,则抛出一个IllegalArgumentException 。 
           这里没有边界检查:新值可能会使(start <= value < end)函数执行的(start <= value < end)不变量无效。 
           当然,应该确保(start <= value <= maximum)不变的是调用之前真正nextValue , previousValue ,或setValue方法。 
            如果value已更改,此方法将触发ChangeEvent 。 
setValue在界面 
            SpinnerModel 
           value - 此序列的当前(非 
            null ) 
            Date 
           IllegalArgumentException - 如果值为 
            null或不是 
            Date 
           getDate() , 
            getValue() , 
            AbstractSpinnerModel.addChangeListener(javax.swing.event.ChangeListener) 
            Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.