Spec-Zone.ru › OpenJDK 27

Класс SpinnerDateModel

java.lang.Object
javax.swing.AbstractSpinnerModel
javax.swing.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
Однако некоторые пользовательские интерфейсы могут задавать calendarField перед подтверждением изменения, чтобы прокручивать поле под курсором. Если требуется прокручивать только одно поле, можно создать подкласс и игнорировать вызовы setCalendarField.

Эта модель наследует ChangeListener. О value, calendarField, start или end свойств модели ChangeListeners уведомляются при их изменении.

Начиная с:
1.4
См. также:
  • JSpinner
  • SpinnerModel
  • AbstractSpinnerModel
  • SpinnerListModel
  • SpinnerNumberModel
  • Calendar.add(int, int)

Краткое описание полей

Поля, объявленные в классе AbstractSpinnerModel

listenerList
Модификатор и тип Поле Описание
protected EventListenerList listenerList
Список ChangeListener для этой модели.

Краткое описание конструкторов

Конструктор Описание
SpinnerDateModel()
Создаёт SpinnerDateModel, у которого начальное значение value — текущая дата, calendarField равно Calendar.DAY_OF_MONTH, а ограничения start/end отсутствуют.
SpinnerDateModel(Date value, Comparable<Date> start, Comparable<Date> end, int calendarField)
Создаёт SpinnerDateModel, представляющую последовательность дат между start и end.

Краткое описание методов

Модификатор и тип Метод Описание
int getCalendarField()
Возвращает поле Calendar, которое увеличивается или уменьшается методами nextValue и previousValue.
Date getDate()
Возвращает текущий элемент этой последовательности Dates.
Comparable<Date> getEnd()
Возвращает последнюю Date в последовательности.
Object getNextValue()
Возвращает следующую Date в последовательности или null, если следующая дата наступает после end.
Object getPreviousValue()
Возвращает предыдущую Date в последовательности или null, если предыдущая дата наступает до start.
Comparable<Date> getStart()
Возвращает первую Date в последовательности.
Object getValue()
Возвращает текущий элемент этой последовательности Dates.
void setCalendarField(int calendarField)
Изменяет величину изменения значения даты, вычисляемого методами nextValue и previousValue.
void setEnd(Comparable<Date> end)
Изменяет верхнюю границу для Dates в этой последовательности.
void setStart(Comparable<Date> start)
Изменяет нижнюю границу для дат в этой последовательности.
void setValue(Object value)
Задаёт текущее значение Date для этой последовательности.

Методы, объявленные в классе AbstractSpinnerModel

addChangeListener, fireStateChanged, getChangeListeners, getListeners, removeChangeListener
Модификатор и тип Метод Описание
void addChangeListener(ChangeListener l)
Добавляет ChangeListener в список слушателей модели.
protected void fireStateChanged()
Вызывает метод stateChanged() каждого ChangeListener.
ChangeListener[] getChangeListeners()
Возвращает массив всех ChangeListeners, добавленных в этот AbstractSpinnerModel с помощью addChangeListener().
<T extends EventListener>
T[]
getListeners(Class<T> listenerType)
Возвращает массив всех слушателей заданного типа, добавленных в эту модель.
void removeChangeListener(ChangeListener l)
Удаляет ChangeListener из списка слушателей модели.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли другой объект этому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии.
Финализация объявлена устаревшей и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени.

Подробное описание конструкторов

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).
См. также:
  • Calendar.add(int, int)
  • setValue(Object)
  • setStart(Comparable)
  • setEnd(Comparable)
  • setCalendarField(int)

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()
  • setEnd(Comparable)
  • AbstractSpinnerModel.addChangeListener(ChangeListener)

getStart

public Comparable<Date> getStart()
Возвращает первую Date в последовательности.
Возвращает:
значение свойства start
См. также:
  • setStart(Comparable)

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()
  • setStart(Comparable)
  • AbstractSpinnerModel.addChangeListener(ChangeListener)

getEnd

public Comparable<Date> getEnd()
Возвращает последнюю Date в последовательности.
Возвращает:
значение свойства end
См. также:
  • setEnd(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(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()
Возвращает текущий элемент этой последовательности Dates. Этот метод эквивалентен (Date)getValue.
Возвращает:
свойство value
См. также:
  • setValue(Object)

getValue

public Object getValue()
Возвращает текущий элемент этой последовательности Dates.
Определён в:
getValue в интерфейсе SpinnerModel
Возвращает:
свойство value
См. также:
  • setValue(Object)
  • getDate()

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
См. также:
  • getDate()
  • getValue()
  • AbstractSpinnerModel.addChangeListener(ChangeListener)

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API