Spec-Zone.ru › OpenJDK 21

Класс SpinnerDateModel

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

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

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

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

Поля, объявленные в классе javax.swing.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()
Возвращает текущий элемент в этой последовательности дат.
Comparable<Date> getEnd()
Возвращает последнюю дату в последовательности.
Object getNextValue()
Возвращает следующую дату в последовательности или null, если следующая дата после end.
Object getPreviousValue()
Возвращает предыдущую дату в последовательности или null, если предыдущая дата до start.
Comparable<Date> getStart()
Возвращает первую дату в последовательности.
Object getValue()
Возвращает текущий элемент в этой последовательности дат.
void setCalendarField(int calendarField)
Изменяет размер приращения даты, вычисляемого методами nextValue и previousValue.
void setEnd(Comparable<Date> end)
Изменяет верхний предел дат в этой последовательности.
void setStart(Comparable<Date> start)
Изменяет нижний предел дат в этой последовательности.
void setValue(Object value)
Устанавливает текущую дату для этой последовательности.

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

addChangeListener, fireStateChanged, getChangeListeners, getListeners, removeChangeListener

Методы, объявленные в классе java.lang.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(java.lang.Object)
  • setStart(java.lang.Comparable<java.util.Date>)
  • setEnd(java.lang.Comparable<java.util.Date>)
  • setCalendarField(int)

SpinnerDateModel

public SpinnerDateModel()
Конструирует SpinnerDateModel , начальное значение которого равно текущей дате, value равно 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(java.lang.Comparable<java.util.Date>)
  • AbstractSpinnerModel.addChangeListener(javax.swing.event.ChangeListener)

getStart

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

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()
  • setStart(java.lang.Comparable<java.util.Date>)
  • AbstractSpinnerModel.addChangeListener(javax.swing.event.ChangeListener)

getEnd

public Comparable<Date> getEnd()
Возвращает последнюю Date в последовательности.
Возвращает:
значение свойства end
См. также:
  • setEnd(java.lang.Comparable<java.util.Date>)

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(javax.swing.event.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()
Возвращает текущий элемент в этой последовательности Date. Этот метод эквивалентен (Date)getValue.
Возвращает:
свойство value
См. также:
  • setValue(java.lang.Object)

getValue

public Object getValue()
Возвращает текущий элемент в этой последовательности Date.
Определено в:
getValue в интерфейсе SpinnerModel
Возвращает:
свойство value
См. также:
  • setValue(java.lang.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(javax.swing.event.ChangeListener)

© 1993, 2023, 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/21/docs/api/java.desktop/javax/swing/SpinnerDateModel.html

Spec-Zone.ru

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