Spec-Zone.ru › OpenJDK 27

Класс SpinnerNumberModel

java.lang.Object
javax.swing.AbstractSpinnerModel
javax.swing.SpinnerNumberModel
Все реализуемые интерфейсы:
Serializable, SpinnerModel
public class SpinnerNumberModel extends AbstractSpinnerModel implements Serializable
SpinnerModel для последовательностей чисел. Верхняя и нижняя границы последовательности задаются свойствами, которые называются minimum и maximum. Размер увеличения или уменьшения, вычисляемого методами nextValue и previousValue, задаётся свойством, которое называется stepSize. Свойствам minimum и maximum можно присвоить значение null, чтобы указать, что у последовательности нет нижнего или верхнего предела. Все свойства этого класса определены с использованием двух обобщённых типов: Number и Comparable, поэтому могут использоваться все числовые типы Java. Внутри поддерживаются только значения типов примитивных Number: Double, Float, Long, Integer, Short или Byte.

Чтобы создать SpinnerNumberModel для целочисленного диапазона от нуля до ста с начальным значением пятьдесят, можно написать:

Integer value = Integer.valueOf(50);
Integer min = Integer.valueOf(0);
Integer max = Integer.valueOf(100);
Integer step = Integer.valueOf(1);
SpinnerNumberModel model = new SpinnerNumberModel(value, min, max, step);
int fifty = model.getNumber().intValue();

Счётчики для целых чисел и чисел с плавающей точкой двойной точности широко распространены, поэтому для этих случаев предусмотрены специальные конструкторы. Например, чтобы создать модель из предыдущего примера, можно также написать:

SpinnerNumberModel model = new SpinnerNumberModel(50, 0, 100, 1);

Эта модель наследует ChangeListener. ChangeListeners получают уведомления при изменении свойств модели value, stepSize, minimum или maximum.

С версии:
1.4
См. также:
  • JSpinner
  • SpinnerModel
  • AbstractSpinnerModel
  • SpinnerListModel
  • SpinnerDateModel

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

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

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

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

Конструктор Описание
SpinnerNumberModel()
Создаёт SpinnerNumberModel без значений minimum и maximum, с stepSize, равным единице, и начальным значением, равным нулю.
SpinnerNumberModel(double value, double minimum, double maximum, double stepSize)
Создаёт SpinnerNumberModel с указанными value, границами minimum/maximum и stepSize.
SpinnerNumberModel(int value, int minimum, int maximum, int stepSize)
Создаёт SpinnerNumberModel с указанными value, границами minimum/maximum и stepSize.
SpinnerNumberModel(Number value, Comparable<?> minimum, Comparable<?> maximum, Number stepSize)
Создаёт SpinnerModel, представляющую собой замкнутую последовательность чисел от minimum до maximum.

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

Модификатор и тип Метод Описание
Comparable<?> getMaximum()
Возвращает последнее число в последовательности.
Comparable<?> getMinimum()
Возвращает первое число в этой последовательности.
Object getNextValue()
Возвращает следующее число в последовательности.
Number getNumber()
Возвращает значение текущего элемента последовательности.
Object getPreviousValue()
Возвращает предыдущее число в последовательности.
Number getStepSize()
Возвращает величину изменения значения, вычисляемого методами getNextValue и getPreviousValue.
Object getValue()
Возвращает значение текущего элемента последовательности.
void setMaximum(Comparable<?> maximum)
Изменяет верхнюю границу чисел в этой последовательности.
void setMinimum(Comparable<?> minimum)
Изменяет нижнюю границу чисел в этой последовательности.
void setStepSize(Number stepSize)
Изменяет величину изменения значения, вычисляемого методами getNextValue и getPreviousValue.
void setValue(Object value)
Задаёт текущее значение этой последовательности.

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

addChangeListener, fireStateChanged, getChangeListeners, getListeners, removeChangeListener
Модификатор и тип Метод Описание
void addChangeListener(ChangeListener l)
Добавляет ChangeListener в список слушателей модели.
protected void fireStateChanged()
Вызывает метод stateChanged() каждого ChangeListener.
ChangeListener[] getChangeListeners()
Возвращает массив всех ChangeListener, добавленных в эту модель 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()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

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

SpinnerNumberModel

public SpinnerNumberModel(Number value, Comparable<?> minimum, Comparable<?> maximum, Number stepSize)
Создаёт SpinnerModel, представляющую собой замкнутую последовательность чисел от minimum до maximum. Методы nextValue и previousValue вычисляют элементы последовательности, соответственно прибавляя или вычитая stepSize. Все параметры должны быть взаимно Comparable, а value и stepSize должны быть экземплярами Integer Long, Float или Double.

Параметрам minimum и maximum можно присвоить значение null, чтобы указать, что диапазон не имеет верхней или нижней границы. Если value или stepSize равно null либо если заданы оба параметра minimum и maximum и условие minimum > maximum выполняется, выбрасывается IllegalArgumentException. Аналогично, если (minimum <= value <= maximum) равно false, выбрасывается IllegalArgumentException.

Параметры:
value — текущее (не null) значение модели
minimum — первое число в последовательности или null
maximum — последнее число в последовательности или null
stepSize — разность между элементами последовательности
Исключения:
IllegalArgumentException — если stepSize или value равно null либо следующее выражение ложно: minimum <= value <= maximum

SpinnerNumberModel

public SpinnerNumberModel(int value, int minimum, int maximum, int stepSize)
Создаёт SpinnerNumberModel с указанными value, границами minimum/maximum и stepSize.
Параметры:
value — текущее значение модели
minimum — первое число в последовательности
maximum — последнее число в последовательности
stepSize — разность между элементами последовательности
Исключения:
IllegalArgumentException — если следующее выражение ложно: minimum <= value <= maximum

SpinnerNumberModel

public SpinnerNumberModel(double value, double minimum, double maximum, double stepSize)
Создаёт SpinnerNumberModel с указанными value, границами minimum/maximum и stepSize.
Параметры:
value — текущее значение модели
minimum — первое число в последовательности
maximum — последнее число в последовательности
stepSize — разность между элементами последовательности
Исключения:
IllegalArgumentException — если следующее выражение ложно: minimum <= value <= maximum

SpinnerNumberModel

public SpinnerNumberModel()
Создаёт SpinnerNumberModel без значений minimum и maximum, с stepSize, равным единице, и начальным значением, равным нулю.

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

setMinimum

public void setMinimum(Comparable<?> minimum)
Изменяет нижнюю границу чисел в этой последовательности. Если minimum равно null, нижняя граница отсутствует. Проверка границ здесь не выполняется; новое значение minimum может нарушить инвариант (minimum <= value <= maximum), обеспечиваемый конструкторами. Это сделано для упрощения обновления модели; разумеется, перед вызовом методов getNextValue, getPreviousValue или setValue следует убедиться, что инвариант соблюдается.

Обычно это свойство представляет собой Number того же типа, что и value, однако можно использовать любой Comparable с методом compareTo для Number того же типа, что и значение. Например, если value — это Long, minimum может быть подклассом Date, определённым следующим образом:

MyDate extends Date {  // Date already implements Comparable
    public int compareTo(Long o) {
        long t = getTime();
        return (t < o.longValue() ? -1 : (t == o.longValue() ? 0 : 1));
    }
}

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

Параметры:
minimum — Comparable, имеющий метод compareTo для Number того же типа, что и value
См. также:
  • getMinimum()
  • setMaximum(Comparable)
  • SpinnerModel.addChangeListener(ChangeListener)

getMinimum

public Comparable<?> getMinimum()
Возвращает первое число в этой последовательности.
Возвращает:
значение свойства minimum
См. также:
  • setMinimum(Comparable)

setMaximum

public void setMaximum(Comparable<?> maximum)
Изменяет верхнюю границу чисел в этой последовательности. Если maximum равно null, верхняя граница отсутствует. Проверка границ здесь не выполняется; новое значение maximum может нарушить инвариант (minimum <= value < maximum), обеспечиваемый конструкторами. Это сделано для упрощения обновления модели; разумеется, перед вызовом методов next, previous или setValue следует убедиться, что инвариант соблюдается.

Обычно это свойство представляет собой Number того же типа, что и value, однако можно использовать любой Comparable с методом compareTo для Number того же типа, что и значение. Пример см. в описании setMinimum(Comparable).

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

Параметры:
maximum — Comparable, имеющий метод compareTo для Number того же типа, что и value
См. также:
  • getMaximum()
  • setMinimum(Comparable)
  • SpinnerModel.addChangeListener(ChangeListener)

getMaximum

public Comparable<?> getMaximum()
Возвращает последнее число в последовательности.
Возвращает:
значение свойства maximum
См. также:
  • setMaximum(Comparable)

setStepSize

public void setStepSize(Number stepSize)
Изменяет величину изменения значения, вычисляемого методами getNextValue и getPreviousValue. Если stepSize равно null, выбрасывается IllegalArgumentException.

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

Параметры:
stepSize — величина изменения значения, вычисляемого методами getNextValue и getPreviousValue
См. также:
  • getNextValue()
  • getPreviousValue()
  • getStepSize()
  • SpinnerModel.addChangeListener(ChangeListener)

getStepSize

public Number getStepSize()
Возвращает величину изменения значения, вычисляемого методами getNextValue и getPreviousValue.
Возвращает:
значение свойства stepSize
См. также:
  • setStepSize(Number)

getNextValue

public Object getNextValue()
Возвращает следующее число в последовательности.
Определён в:
getNextValue в интерфейсе SpinnerModel
Возвращает:
value + stepSize или null, если сумма превышает maximum.
См. также:
  • SpinnerModel.getNextValue()
  • getPreviousValue()
  • setStepSize(Number)

getPreviousValue

public Object getPreviousValue()
Возвращает предыдущее число в последовательности.
Определён в:
getPreviousValue в интерфейсе SpinnerModel
Возвращает:
value - stepSize или null, если сумма меньше minimum.
См. также:
  • SpinnerModel.getPreviousValue()
  • getNextValue()
  • setStepSize(Number)

getNumber

public Number getNumber()
Возвращает значение текущего элемента последовательности.
Возвращает:
свойство value
См. также:
  • setValue(Object)

getValue

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

setValue

public void setValue(Object value)
Задаёт текущее значение этой последовательности. Если value равно null или не является Number, выбрасывается IllegalArgumentException. Проверка границ здесь не выполняется; новое значение может нарушить инвариант (minimum <= value <= maximum), обеспечиваемый конструкторами. Также можно задать значение, которое естественным образом не встречается в последовательности, то есть значение, не кратное stepSize. Это сделано для упрощения обновления модели и поддержки счётчиков, которые не должны ограничивать значения, введённые пользователем напрямую. Разумеется, перед вызовом методов next, previous или setValue следует убедиться, что инвариант (minimum <= value <= maximum) соблюдается.

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

Определён в:
setValue в интерфейсе SpinnerModel
Параметры:
value — текущее (не null) значение Number этой последовательности
Исключения:
IllegalArgumentException — если value равно null или не является Number
См. также:
  • getNumber()
  • getValue()
  • SpinnerModel.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