Класс SpinnerDateModel
- Все реализуемые интерфейсы:
Serializable, SpinnerModel
public class SpinnerDateModel extends AbstractSpinnerModel implements Serializable
SpinnerModel для последовательностей Dates. Верхняя и нижняя границы последовательности задаются свойствами с именами 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. О value, calendarField, start или end свойств модели ChangeListeners уведомляются при их изменении.
- Начиная с:
- 1.4
- См. также:
Краткое описание полей
Поля, объявленные в классе AbstractSpinnerModel
listenerList | Модификатор и тип | Поле | Описание |
|---|---|---|
protected EventListenerList |
listenerList |
Список ChangeListener для этой модели. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
SpinnerDateModel() |
Создаёт SpinnerDateModel, у которого начальное значение value — текущая дата, calendarField равно Calendar.DAY_OF_MONTH, а ограничения start/end отсутствуют. |
SpinnerDateModel |
Создаёт SpinnerDateModel, представляющую последовательность дат между start и end. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
int |
getCalendarField() |
Возвращает поле Calendar, которое увеличивается или уменьшается методами nextValue и previousValue. |
Date |
getDate() |
Возвращает текущий элемент этой последовательности Dates. |
Comparable |
getEnd() |
Возвращает последнюю Date в последовательности. |
Object |
getNextValue() |
Возвращает следующую Date в последовательности или null, если следующая дата наступает после end. |
Object |
getPreviousValue() |
Возвращает предыдущую Date в последовательности или null, если предыдущая дата наступает до start. |
Comparable |
getStart() |
Возвращает первую Date в последовательности. |
Object |
getValue() |
Возвращает текущий элемент этой последовательности Dates. |
void |
setCalendarField |
Изменяет величину изменения значения даты, вычисляемого методами nextValue и previousValue. |
void |
setEnd |
Изменяет верхнюю границу для Dates в этой последовательности. |
void |
setStart |
Изменяет нижнюю границу для дат в этой последовательности. |
void |
setValue |
Задаёт текущее значение Date для этой последовательности. |
Методы, объявленные в классе AbstractSpinnerModel
addChangeListener, fireStateChanged, getChangeListeners, getListeners, removeChangeListener | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addChangeListener |
Добавляет ChangeListener в список слушателей модели. |
protected void |
fireStateChanged() |
Вызывает метод stateChanged() каждого ChangeListener. |
ChangeListener[] |
getChangeListeners() |
Возвращает массив всех ChangeListeners, добавленных в этот AbstractSpinnerModel с помощью addChangeListener(). |
<T extends EventListener> |
getListeners |
Возвращает массив всех слушателей заданного типа, добавленных в эту модель. |
void |
removeChangeListener |
Удаляет ChangeListener из списка слушателей модели. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли другой объект этому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии. Финализация объявлена устаревшей и будет удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания. |
final void |
wait |
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
Подробное описание конструкторов
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)
Dates в этой последовательности. Если start равно null, верхняя граница отсутствует. Здесь проверка границ не выполняется: новое начальное значение может нарушить инвариант (start <= value <= end), обеспечиваемый конструкторами. Это упрощает обновление модели. Разумеется, перед вызовом методов nextValue, previousValue или setValue следует убедиться, что инвариант соблюдается. Обычно это свойство имеет тип Date, однако можно использовать Comparable с методом compareTo для Dates. Пример см. в описании 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()
Dates. Этот метод эквивалентен (Date)getValue.- Возвращает:
- свойство
value - См. также:
getValue
public Object getValue()
Dates.- Определён в:
-
getValueв интерфейсеSpinnerModel - Возвращает:
- свойство
value - См. также:
setValue
public void setValue(Object value)
Date для этой последовательности. Если value равно null, выбрасывается IllegalArgumentException. Здесь проверка границ не выполняется: новое значение может нарушить инвариант (start <= value < end), обеспечиваемый конструкторами. Разумеется, перед вызовом методов nextValue, previousValue или setValue следует убедиться, что инвариант (start <= value <= maximum) соблюдается. Этот метод генерирует 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.