Spec-Zone.ru › OpenJDK 8

Класс SpinnerDateModel

  • java.lang.Object
    • javax.swing.AbstractSpinnerModel
      • javax.swing.SpinnerDateModel
Все реализованные интерфейсы:
Serializable, SpinnerModel

public class SpinnerDateModel
extends AbstractSpinnerModel
implements Serializable

Модель для последовательностей Date. Верхние и нижние границы последовательности определяются свойствами 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)

Поля

Поля, унаследованные от класса javax.swing.AbstractSpinnerModel

listenerList

Конструкторы

Конструктор и описание
SpinnerDateModel()

Создаёт SpinnerDateModel, у которого начальное значение value — текущая дата, calendarField равно Calendar.DAY_OF_MONTH, и нет ограничений start/end.

SpinnerDateModel(Date value, Comparable start, Comparable end, int calendarField)

Создаёт SpinnerDateModel представляющую последовательность дат между start и end.

Методы

Модификатор и тип Метод и описание
int getCalendarField()

Возвращает поле Calendar, к которому добавляется или из которого вычитается значение методами nextValue и previousValue.

Date getDate()

Возвращает текущий элемент в этой последовательности Date.

Comparable getEnd()

Возвращает последнюю Date в последовательности.

Object getNextValue()

Возвращает следующую Date в последовательности или null, если следующая дата после end.

Object getPreviousValue()

Возвращает предыдущую Date в последовательности или null, если предыдущая дата до start.

Comparable getStart()

Возвращает первую Date в последовательности.

Object getValue()

Возвращает текущий элемент в этой последовательности Date.

void setCalendarField(int calendarField)

Изменяет размер изменения значения даты, вычисляемого методами nextValue и previousValue.

void setEnd(Comparable end)

Изменяет верхнюю границу для Date в этой последовательности.

void setStart(Comparable start)

Изменяет нижнюю границу для дат в этой последовательности.

void setValue(Object value)

Устанавливает текущую Date для этой последовательности.

Методы, унаследованные от класса 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 start,
                        Comparable 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) ложно, выбрасывается исключение 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), setEnd(java.lang.Comparable), setCalendarField(int)

SpinnerDateModel

public SpinnerDateModel()

Конструирует SpinnerDateModel, чьё начальное value — текущая дата, calendarField равно Calendar.DAY_OF_MONTH, и для которого нет start/end ограничений.

Методы

setStart

public void setStart(Comparable 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), AbstractSpinnerModel.addChangeListener(javax.swing.event.ChangeListener)

getStart

public Comparable getStart()

Возвращает первую Date в последовательности.

Возвращает:
значение свойства start
См. также:
setStart(java.lang.Comparable)

setEnd

public void setEnd(Comparable end)

Изменяет верхнюю границу для Date в этой последовательности. Если start равно null, то верхней границы нет. Проверка границ здесь не выполняется: новое начальное значение может нарушить (start <= value <= end) инвариант, навязанный конструкторами. Это делается для упрощения обновления модели. Естественно, необходимо убедиться, что инвариант верен перед вызовом методов nextValue, previousValue, или setValue.

Обычно это свойство является Date, но возможно использовать Comparable с методом compareTo для Date. См. setStart для примера.

Этот метод вызывает ChangeEvent если end изменилось.

Параметры:
end - определяет последнюю дату в последовательности
См. также:
getEnd(), setStart(java.lang.Comparable), AbstractSpinnerModel.addChangeListener(javax.swing.event.ChangeListener)

getEnd

public Comparable getEnd()

Возвращает последнюю Date в последовательности.

Возвращает:
значение свойства end
См. также:
setEnd(java.lang.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(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, 2020, 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