Класс SpinnerNumberModel
- Все реализованные интерфейсы:
-
Serializable,SpinnerModel
public class SpinnerNumberModel extends AbstractSpinnerModel implements Serializable
minimum и maximum. Величина приращения или уменьшения, вычисляемая методами nextValue и previousValue, определяется свойством, называемым stepSize. Свойства minimum и maximum могут быть установлены в null, чтобы указать, что последовательность не имеет нижней или верхней границы. Все свойства в этом классе определены в терминах двух обобщённых типов: Number и Comparable, чтобы можно было использовать все числовые типы Java. Внутренне поддерживаются только значения, тип которых является одним из примитивных типов Number: Double, Float, Long, Integer, Short или Byte. Чтобы создать модель для диапазона целых чисел от нуля до ста, с начальным значением пятьдесят, можно написать:
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
- См. также:
Краткое описание полей
Поля, объявленные в классе javax.swing.AbstractSpinnerModel
listenerList
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
SpinnerNumberModel() |
Создаёт SpinnerNumberModel без значения minimum или maximum, stepSize равное единице и начальное значение нулю. |
SpinnerNumberModel |
Создаёт SpinnerNumberModel со значениями value, границами minimum/maximum и stepSize. |
SpinnerNumberModel |
Создаёт SpinnerNumberModel со значениями value, границами minimum/maximum и stepSize. |
SpinnerNumberModel |
Создаёт SpinnerModel, представляющую замкнутую последовательность чисел от minimum до maximum. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Comparable |
getMaximum() |
Возвращает последнее число в последовательности. |
Comparable |
getMinimum() |
Возвращает первое число в этой последовательности. |
Object |
getNextValue() |
Возвращает следующее число в последовательности. |
Number |
getNumber() |
Возвращает значение текущего элемента последовательности. |
Object |
getPreviousValue() |
Возвращает предыдущее число в последовательности. |
Number |
getStepSize() |
Возвращает размер изменения значения, вычисляемого методами getNextValue и getPreviousValue. |
Object |
getValue() |
Возвращает значение текущего элемента последовательности. |
void |
setMaximum |
Изменяет верхнюю границу чисел в этой последовательности. |
void |
setMinimum |
Изменяет нижнюю границу чисел в этой последовательности. |
void |
setStepSize |
Изменяет размер изменения значения, вычисляемого методами getNextValue и getPreviousValue. |
void |
setValue |
Устанавливает текущее значение для этой последовательности. |
Методы, объявленные в классе javax.swing.AbstractSpinnerModel
addChangeListener, fireStateChanged, getChangeListeners, getListeners, removeChangeListener
Подробное описание конструкторов
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) ложно, будет брошено исключение IllegalArgumentException.
- Параметры:
-
value- текущее (неnull) значение модели -
minimum- первое число в последовательности илиnull -
maximum- последнее число в последовательности илиnull -
stepSize- разница между элементами последовательности - Исключения:
-
IllegalArgumentException- если шаг или значение является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 с тем же типом, что и значение. Например, если значение было 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
public Comparable<?> getMinimum()
- Возвращает:
- значение свойства
minimum - См. также:
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
public Comparable<?> getMaximum()
- Возвращает:
- значение свойства
maximum - См. также:
setStepSize
public void setStepSize(Number stepSize)
getNextValue и getPreviousValue. Бросает исключение IllegalArgumentException, если stepSize равно null. Этот метод генерирует событие ChangeEvent, если stepSize изменился.
- Параметры:
-
stepSize- размер изменения значения, вычисляемого методамиgetNextValueиgetPreviousValue - См. также:
getStepSize
public Number getStepSize()
getNextValue и getPreviousValue.- Возвращает:
- значение свойства
stepSize - См. также:
getNextValue
public Object getNextValue()
- Унаследованно от:
-
getNextValueв интерфейсеSpinnerModel - Возвращает:
-
value + stepSizeилиnull, если сумма превышаетmaximum. - См. также:
getPreviousValue
public Object getPreviousValue()
- Унаследованно от:
-
getPreviousValueв интерфейсеSpinnerModel - Возвращает:
-
value - stepSize, илиnull, если сумма меньшеminimum. - См. также:
getNumber
public Number getNumber()
- Возвращает:
- свойство value
- См. также:
getValue
public Object getValue()
- Определено в:
-
getValueв интерфейсеSpinnerModel - Возвращает:
- свойство value
- См. также:
setValue
public void setValue(Object value)
value является null, или не является Number, выбрасывается IllegalArgumentException. Здесь не выполняется проверка границ; новое значение может нарушить инвариант (minimum <= value <= maximum), наложенный конструкторами. Также возможно установить значение, которое не встречается естественным образом в последовательности, то есть значение, которое не является кратным stepSize. Это упрощает обновление модели и позволяет использовать спиннеры, которые не хотят ограничивать значения, напрямую введённые пользователем. Естественно, необходимо убедиться, что инвариант (minimum <= value <= maximum) верен перед вызовом методов next, previous или setValue. Этот метод вызывает ChangeEvent, если значение изменилось.
- Определено в:
-
setValueв интерфейсеSpinnerModel - Параметры:
-
value- текущее (неnull)Numberдля этой последовательности - Исключения:
-
IllegalArgumentException- еслиvalueявляетсяnullили не являетсяNumber - См. также:
© 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/SpinnerNumberModel.html