Spec-Zone.ru › OpenJDK 17

Класс 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. Объекты, использующие эту модель, уведомляются всякий раз, когда изменяются свойства модели 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 — текущая дата, 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(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. Следует использовать этот метод с осторожностью, поскольку некоторые 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()
  • 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, 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

Spec-Zone.ru

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