Класс SpinnerDateModel
- Все реализованные интерфейсы:
-
Serializable,SpinnerModel
public class SpinnerDateModel extends AbstractSpinnerModel implements Serializable
start и end, а размер приращения или уменьшения, вычисляемый методами nextValue и previousValue, определяется свойством calendarField. Свойства start и end могут быть установлены в null, чтобы указать, что у последовательности нет нижнего или верхнего предела. Значение свойства calendarField должно быть одним из констант java.util.Calendar, которые задают поле внутри Calendar. Методы getNextValue и getPreviousValue изменяют дату вперёд или назад на эту величину. Например, если calendarField равно Calendar.DAY_OF_WEEK, то nextValue возвращает дату, которая на 24 часа позже текущей value, а previousValue возвращает дату, которая на 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
- См. также:
Краткое описание полей
Поля, объявленные в классе javax.swing.AbstractSpinnerModel
listenerList
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
SpinnerDateModel() |
Создаёт SpinnerDateModel, у которого начальное значение value - текущая дата, calendarField равно Calendar.DAY_OF_MONTH, и нет ограничений start/end. |
SpinnerDateModel |
Создаёт SpinnerDateModel, представляющий последовательность дат между start и end. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
int |
getCalendarField() |
Возвращает поле Calendar, которое добавляется или вычитается методами nextValue и previousValue. |
Date |
getDate() |
Возвращает текущий элемент в этой последовательности дат. |
Comparable |
getEnd() |
Возвращает последнюю дату в последовательности. |
Object |
getNextValue() |
Возвращает следующую дату в последовательности или null, если следующая дата после end. |
Object |
getPreviousValue() |
Возвращает предыдущую дату в последовательности или null, если предыдущая дата до start. |
Comparable |
getStart() |
Возвращает первую дату в последовательности. |
Object |
getValue() |
Возвращает текущий элемент в этой последовательности дат. |
void |
setCalendarField |
Изменяет размер приращения даты, вычисляемого методами nextValue и previousValue. |
void |
setEnd |
Изменяет верхний предел дат в этой последовательности. |
void |
setStart |
Изменяет нижний предел дат в этой последовательности. |
void |
setValue |
Устанавливает текущую дату для этой последовательности. |
Методы, объявленные в классе 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 вычисляют элементы последовательности, передвигая текущую дату value на заданную единицу времени calendarField. Подробное описание приращения или уменьшения 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недействительна или если следующее выражение ложно:(start <= value <= end). - См. также:
SpinnerDateModel
public SpinnerDateModel()
SpinnerDateModel , начальное значение которого равно текущей дате, value равно 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. Этот метод вызывает событие ChangeEvent, если значение start изменилось.
- Параметры:
-
start- определяет первую дату в последовательности - См. также:
getStart
public Comparable<Date> getStart()
Date в последовательности.- Возвращает:
- значение свойства
start - См. также:
setEnd
public void setEnd(Comparable<Date> end)
Date в этой последовательности. Если start равно null, то верхний предел отсутствует. Проверка границ здесь не выполняется: новое начальное значение может нарушить инвариант (start <= value <= end), накладываемый конструкторами. Это сделано для упрощения обновления модели. Естественно, следует гарантировать, что инвариант верен перед вызовом методов nextValue, previousValue или setValue. Обычно это свойство является Date, но можно использовать Comparable с методом compareTo для Date. См. setStart для примера.
Этот метод вызывает событие ChangeEvent, если значение end изменилось.
- Параметры:
-
end- определяет последнюю дату в последовательности - См. также:
getEnd
public Comparable<Date> getEnd()
Date в последовательности.- Возвращает:
- значение свойства
end - См. также:
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
public int getCalendarField()
Calendar, к которому добавляется или из которого вычитается значение методами nextValue и previousValue.- Возвращает:
- значение свойства
calendarField - См. также:
getNextValue
public Object getNextValue()
Date в последовательности или null, если следующая дата находится после end.- Определено в:
-
getNextValueв интерфейсеSpinnerModel - Возвращает:
- следующую
Dateв последовательности илиnull, если следующая дата находится послеend. - См. также:
getPreviousValue
public Object getPreviousValue()
Date в последовательности или null, если предыдущая дата находится до start.- Определено в:
-
getPreviousValueв интерфейсеSpinnerModel - Возвращает:
- предыдущую
Dateв последовательности илиnull, если предыдущая дата находится доstart - См. также:
getDate
public Date getDate()
Date. Этот метод эквивалентен (Date)getValue.- Возвращает:
- свойство
value - См. также:
getValue
public Object getValue()
Date.- Определено в:
-
getValueв интерфейсеSpinnerModel - Возвращает:
- свойство
value - См. также:
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 - См. также:
© 1993, 2023, 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.
https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/javax/swing/SpinnerDateModel.html