Класс SpinnerDateModel
- java.lang.Object
-
- javax.swing.AbstractSpinnerModel
-
- javax.swing.SpinnerDateModel
- Все реализованные интерфейсы:
- Serializable, SpinnerModel
public class SpinnerDateModel extends AbstractSpinnerModel implements Serializable
Модель для последовательностей 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.
- С момента:
- 1.4
- См. также:
-
JSpinner,SpinnerModel,AbstractSpinnerModel,SpinnerListModel,SpinnerNumberModel,Calendar.add(int, int)
Поля
Поля, унаследованные от класса javax.swing.AbstractSpinnerModel
listenerList Конструкторы
| Конструктор и описание |
|---|
SpinnerDateModel() Создаёт |
SpinnerDateModel(Date value,
Comparable start,
Comparable end,
int calendarField) Создаёт |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
int |
getCalendarField() Возвращает поле |
Date |
getDate() Возвращает текущий элемент в этой последовательности |
Comparable |
getEnd() Возвращает последнюю |
Object |
getNextValue() Возвращает следующую |
Object |
getPreviousValue() Возвращает предыдущую |
Comparable |
getStart() Возвращает первую |
Object |
getValue() Возвращает текущий элемент в этой последовательности |
void |
setCalendarField(int calendarField) Изменяет размер изменения значения даты, вычисляемого методами |
void |
setEnd(Comparable end) Изменяет верхнюю границу для |
void |
setStart(Comparable start) Изменяет нижнюю границу для дат в этой последовательности. |
void |
setValue(Object value) Устанавливает текущую |
Методы, унаследованные от класса javax.swing.AbstractSpinnerModel
addChangeListener, fireStateChanged, getChangeListeners, getListeners, removeChangeListener Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Конструкторы
SpinnerDateModel
public SpinnerDateModel(Date value,
Comparable start,
Comparable end,
int calendarField) Создаёт SpinnerDateModel, представляющий последовательность дат между start и end. Методы nextValue и previousValue вычисляют элементы последовательности, передвигая текущую дату value вперёд или назад на единицу указанной calendarField единицы времени. Подробное описание того, что означает приращение или уменьшение Calendar field, см. в методе add в java.util.Calendar.
Параметры start и end могут быть null для указания того, что диапазон не имеет верхних или нижних границ. Если value или calendarField имеют значение null, или если оба start и end указаны и minimum > maximum, то выбрасывается исключение IllegalArgumentException. Аналогично, если (minimum <= value <= maximum) ложно, выбрасывается исключение 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),setEnd(java.lang.Comparable),setCalendarField(int)
SpinnerDateModel
public SpinnerDateModel()
Конструирует SpinnerDateModel, чьё начальное value — текущая дата, calendarField равно Calendar.DAY_OF_MONTH, и для которого нет start/end ограничений.
Методы
setStart
public void setStart(Comparable 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. Этот метод вызывает ChangeEvent если start изменилось.
- Параметры:
-
start- определяет первую дату в последовательности - См. также:
-
getStart(),setEnd(java.lang.Comparable),AbstractSpinnerModel.addChangeListener(javax.swing.event.ChangeListener)
getStart
public Comparable getStart()
Возвращает первую Date в последовательности.
- Возвращает:
- значение свойства
start - См. также:
setStart(java.lang.Comparable)
setEnd
public void setEnd(Comparable end)
Изменяет верхнюю границу для Date в этой последовательности. Если start равно null, то верхней границы нет. Проверка границ здесь не выполняется: новое начальное значение может нарушить (start <= value <= end) инвариант, навязанный конструкторами. Это делается для упрощения обновления модели. Естественно, необходимо убедиться, что инвариант верен перед вызовом методов nextValue, previousValue, или setValue.
Обычно это свойство является Date, но возможно использовать Comparable с методом compareTo для Date. См. setStart для примера.
Этот метод вызывает ChangeEvent если end изменилось.
- Параметры:
-
end- определяет последнюю дату в последовательности - См. также:
-
getEnd(),setStart(java.lang.Comparable),AbstractSpinnerModel.addChangeListener(javax.swing.event.ChangeListener)
getEnd
public Comparable getEnd()
Возвращает последнюю Date в последовательности.
- Возвращает:
- значение свойства
end - См. также:
setEnd(java.lang.Comparable)
setCalendarField
public void setCalendarField(int calendarField)
Изменяет размер изменения значения даты, вычисляемого методами nextValue и previousValue. Параметр calendarField должен быть одним из констант полей Calendar, таких как Calendar.MONTH или Calendar.MINUTE. Методы nextValue и previousValue просто сдвигают указанное поле Calendar вперёд или назад на одну единицу с помощью метода Calendar.add . Вы должны использовать этот метод с осторожностью, так как некоторые пользовательские интерфейсы могут устанавливать 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
Этот метод вызывает
ChangeEventеслиcalendarFieldизменилось. -
- См. также:
-
getCalendarField(),getNextValue(),getPreviousValue(),Calendar.add(int, int),AbstractSpinnerModel.addChangeListener(javax.swing.event.ChangeListener)
getCalendarField
public int getCalendarField()
Возвращает поле Calendar, которое добавляется или вычитается методами nextValue и previousValue.
- Возвращает:
- значение свойства
calendarField - См. также:
setCalendarField(int)
getNextValue
public Object getNextValue()
Возвращает следующую Date в последовательности, или null, если следующая дата после end.
- Определено в:
-
getNextValueв интерфейсеSpinnerModel - Возвращает:
- следующую
Dateв последовательности, илиnull, если следующая дата послеend. - См. также:
-
SpinnerModel.getNextValue(),getPreviousValue(),setCalendarField(int)
getPreviousValue
public Object getPreviousValue()
Возвращает предыдущую Date в последовательности, или null, если предыдущая дата до start.
- Определено в:
-
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.
- Определено в:
-
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.
Этот метод вызывает ChangeEvent, если value изменилось.
- Указано в:
-
setValueв интерфейсеSpinnerModel - Параметры:
-
value- текущее (неnull)Dateдля этой последовательности - Исключения:
-
IllegalArgumentException- если значение равноnullили не являетсяDate - См. также:
-
getDate(),getValue(),AbstractSpinnerModel.addChangeListener(javax.swing.event.ChangeListener)
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.