Spec-Zone.ru › OpenJDK 25

Класс 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. Объекты ChangeListeners получают уведомления при изменении свойств модели value, calendarField, start или end.

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

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

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

listenerList

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

Конструктор Описание
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

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, 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).
См. также:
  • 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), обеспечиваемый конструкторами. Разумеется, перед вызовом методов (start <= value <= maximum), nextValue или previousValue следует убедиться, что инвариант setValue выполняется.

Этот метод генерирует ChangeEvent, если значение value изменилось.

Определено в:
setValue в интерфейсе SpinnerModel
Параметры:
value — текущее (не null) значение Date для этой последовательности
Исключения:
IllegalArgumentException — если значение равно null или не является Date
См. также:
  • getDate()
  • getValue()
  • AbstractSpinnerModel.addChangeListener(ChangeListener)

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе документации Java SE, которая содержит более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/SpinnerDateModel.html

Spec-Zone.ru

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