- java.lang.Object
 -  
      
- javax.swing.AbstractSpinnerModel
 -  
        
- javax.swing.SpinnerDateModel
 
 
 
-  
       
- 实现的所有接口
 -  
         
Serializable,SpinnerModel 
public class SpinnerDateModel extends AbstractSpinnerModel implements Serializable
SpinnerModel,序列号Dates。 序列的上限和下限由名为start和end的属性定义,nextValue和previousValue方法计算的增加或减少的大小由名为calendarField的属性定义。start和end属性可以是null以指示序列没有下限或上限。calendarField属性的值必须是指定java.util.Calendar中的字段的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性质的变化。- 从以下版本开始:
 - 1.4
 - 另请参见:
 -  
         
JSpinner,SpinnerModel,AbstractSpinnerModel,SpinnerListModel,SpinnerNumberModel,Calendar.add(int, int), Serialized Form 
 
-  
        
       
-  
             
字段汇总
-  
               
声明的属性在类 javax.swing.AbstractSpinnerModel
listenerList 
 -  
               
 
-  
             
构造方法摘要
构造方法 构造器 描述 SpinnerDateModel()构造一个SpinnerDateModel,其初始value是当前日期,calendarField等于Calendar.DAY_OF_MONTH,以及用于其中有没有start/end限制。SpinnerDateModel(Date value, Comparable<Date> start, Comparable<Date> end, int calendarField)创建一个SpinnerDateModel,表示start和end之间的日期序列。 
-  
             
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 intgetCalendarField()返回nextValue和previousValue方法中添加或减去的Calendar字段。DategetDate()返回此序列中Date的当前元素。Comparable<Date>getEnd()返回序列中的最后一个Date。ObjectgetNextValue()返回下Date序列中,或null如果下一个日期是后end。ObjectgetPreviousValue()返回以前Date序列中,或null如果上一个日期是前start。Comparable<Date>getStart()返回序列中的第一个Date。ObjectgetValue()返回此序列Date中的当前元素。voidsetCalendarField(int calendarField)更改nextValue和previousValue方法计算的日期值更改的大小。voidsetEnd(Comparable<Date> end)按此顺序更改Date的上限。voidsetStart(Comparable<Date> start)更改此序列中日期的下限。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)
创建一个SpinnerDateModel,表示start和end之间的日期序列。nextValue和previousValue方法通过calendarField时间单位提前或反转当前日期value来计算序列的元素。 对于意味着什么递增或递减一个精确的描述Calendar字段,请参阅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无效,或者以下表达式为假:(start <= value <= end)。 - 另请参见:
 -  
              
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()
构造一个SpinnerDateModel,其初始value是当前日期,calendarField等于Calendar.DAY_OF_MONTH,以及用于其中有没有start/end限制。 
 -  
 
-  
             
方法详细信息
-  
setStart
public void setStart(Comparable<Date> start)
更改此序列中日期的下限。 如果start是null,那么没有下限。 此处不进行边界检查:新的起始值可能使构造函数强制执行的(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<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 <= value <= end)不变量无效。 这是为了简化模型的更新。 当然,应该保证不变的是调用之前真正nextValue,previousValue,或setValue方法。通常,此属性是一个
Date但是它可以使用Comparable与compareTo方法为Date秒。 有关setStart,请参见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字段常量之一,如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) 
 
-  
getCalendarField
public int getCalendarField()
返回nextValue和previousValue方法中添加或减去的Calendar字段。- 结果
 -  
              
calendarField属性的值 - 另请参见:
 -  
              
setCalendarField(int) 
 
-  
getNextValue
public Object getNextValue()
返回下Date序列中,或null如果下一个日期是后end。- Specified by:
 -  
              
getNextValue在界面SpinnerModel - 结果
 - 
               下一 
              
Date序列中,或null如果下一日期是后end。 - 另请参见:
 -  
              
SpinnerModel.getNextValue(),getPreviousValue(),setCalendarField(int) 
 
-  
getPreviousValue
public Object getPreviousValue()
返回以前Date序列中,或null如果上一个日期是前start。- Specified by:
 -  
              
getPreviousValue在界面SpinnerModel - 结果
 - 
               以前 
              
Date序列中,或null如果先前的日期是前start - 另请参见:
 -  
              
SpinnerModel.getPreviousValue(),getNextValue(),setCalendarField(int) 
 
-  
getDate
public Date getDate()
返回此序列中Date的当前元素。 此方法相当于(Date)getValue。- 结果
 -  
              
value属性 - 另请参见:
 -  
              
setValue(java.lang.Object) 
 
-  
getValue
public Object getValue()
返回此序列中Date的当前元素。- Specified by:
 -  
              
getValue在界面SpinnerModel - 结果
 -  
              
value属性 - 另请参见:
 -  
              
setValue(java.lang.Object),getDate() 
 
-  
setValue
public void setValue(Object value)
设置此序列的当前Date。 如果value是null,则抛出IllegalArgumentException。 此处不进行边界检查:新值可能使构造函数强制执行的(start <= value < end)不变量无效。 当然,应该确保(start <= value <= maximum)不变的是调用之前真正nextValue,previousValue,或setValue方法。如果
value已更改,则此方法将触发ChangeEvent。- Specified by:
 -  
              
setValue接口SpinnerModel - 参数
 -  
              
value- 此序列的当前(非null)Date - 异常
 -  
              
IllegalArgumentException- 如果值为null或不是Date - 另请参见:
 -  
              
getDate(),getValue(),AbstractSpinnerModel.addChangeListener(javax.swing.event.ChangeListener) 
 
 -  
 
 -