|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object javax.swing.AbstractSpinnerModel javax.swing.SpinnerDateModel
public class SpinnerDateModel
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)
フィールドの概要 |
---|
クラス javax.swing.AbstractSpinnerModel から継承されたフィールド |
---|
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 を返します。 |
Object |
getPreviousValue()
シーケンスの前の Date を返します。 |
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 を設定します。 |
クラス javax.swing.AbstractSpinnerModel から継承されたメソッド |
---|
addChangeListener, fireStateChanged, getChangeListeners, getListeners, removeChangeListener |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
---|
public 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
の両方が指定されており、mininum > 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)
が 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
を返します。
SpinnerModel
内の getNextValue
Date
。次の日付が end
よりあとの場合は null
SpinnerModel.getNextValue()
,
getPreviousValue()
,
setCalendarField(int)
public Object getPreviousValue()
Date
を返します。前の日付が start
より前の場合は null
を返します。
SpinnerModel
内の getPreviousValue
Date
。前の日付が start
より前の場合は null
SpinnerModel.getPreviousValue()
,
getNextValue()
,
setCalendarField(int)
public Date getDate()
Date
のうち、現在の要素を返します。このメソッドは、(Date)getValue
に相当します。
value
プロパティsetValue(java.lang.Object)
public Object getValue()
Date
のうち、現在の要素を返します。
SpinnerModel
内の getValue
value
プロパティ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
をトリガします。
SpinnerModel
内の setValue
value
- このシーケンスの現在の Date
(null
以外)
IllegalArgumentException
- value が null
の場合、あるいは Date
でない場合getDate()
,
getValue()
,
AbstractSpinnerModel.addChangeListener(javax.swing.event.ChangeListener)
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。