Класс SpinnerDateModel
- Все реализованные интерфейсы:
-
Serializable,SpinnerModel
public class SpinnerDateModel extends AbstractSpinnerModel implements Serializable
start и end, а величина приращения или уменьшения, вычисляемая методами nextValue и previousValue, определяется свойством calendarField. Свойства start и end могут быть установлены в значения, указывающие, что последовательность не имеет нижней или верхней границы. Значение свойства 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.
- Since:
- 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 — текущая дата, 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. Этот метод вызывает событие 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, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/SpinnerDateModel.html