Класс 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. Объекты, использующие эту модель, уведомляются всякий раз, когда изменяются свойства модели value, calendarField, start, или end.
Краткое описание полей
Поля, объявленные в классе 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<Date> |
getEnd() |
Возвращает последнюю дату в последовательности. |
Object |
getNextValue() |
Возвращает следующую дату в последовательности или null, если следующая дата после end. |
Object |
getPreviousValue() |
Возвращает предыдущую дату в последовательности или null, если предыдущая дата до start. |
Comparable<Date> |
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. Следует использовать этот метод с осторожностью, поскольку некоторые UI могут установить 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, 2021, 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/17/docs/api/java.desktop/javax/swing/SpinnerDateModel.html