|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjavax.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 - シーケンスの先頭の日付または 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 を返します。
SpinnerModel 内の getNextValueDate。次の日付が end よりあとの場合は nullSpinnerModel.getNextValue(),
getPreviousValue(),
setCalendarField(int)public Object getPreviousValue()
Date を返します。前の日付が start より前の場合は null を返します。
SpinnerModel 内の getPreviousValueDate。前の日付が start より前の場合は nullSpinnerModel.getPreviousValue(),
getNextValue(),
setCalendarField(int)public Date getDate()
Date のうち、現在の要素を返します。このメソッドは、(Date)getValue に相当します。
value プロパティsetValue(java.lang.Object)public Object getValue()
Date のうち、現在の要素を返します。
SpinnerModel 内の getValuevalue プロパティ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 内の setValuevalue - このシーケンスの現在の 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 も参照してください。