Spec-Zone.ru › OpenJDK 25

Класс 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

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

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

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

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

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, 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/SpinnerNumberModel.html

Spec-Zone.ru

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