Spec-Zone.ru › OpenJDK 8

Класс SpinnerNumberModel

  • java.lang.Object
    • javax.swing.AbstractSpinnerModel
      • javax.swing.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 = new Integer(50);
 Integer min = new Integer(0);
 Integer max = new Integer(100);
 Integer step = new Integer(1);
 SpinnerNumberModel model = new SpinnerNumberModel(value, min, max, step);
 int fifty = model.getNumber().intValue();

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

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

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

С тех пор:
1.4
См. также:
JSpinner, SpinnerModel, AbstractSpinnerModel, SpinnerListModel, SpinnerDateModel

Поля

Поля, унаследованные от класса javax.swing.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)

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

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

addChangeListener, fireStateChanged, getChangeListeners, getListeners, removeChangeListener

Методы, унаследованные от класса java.lang.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) является ложным, выбрасывается 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(java.lang.Comparable), SpinnerModel.addChangeListener(javax.swing.event.ChangeListener)

getMinimum

public Comparable getMinimum()

Возвращает первое число в этой последовательности.

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

setMaximum

public void setMaximum(Comparable maximum)

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

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

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

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

getMaximum

public Comparable getMaximum()

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

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

setStepSize

public void setStepSize(Number stepSize)

Изменяет размер изменения значения, вычисляемого методами getNextValue и getPreviousValue. Выбрасывается IllegalArgumentException, если stepSize является null.

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

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

getStepSize

public Number getStepSize()

Возвращает размер изменения значения, вычисляемого методами getNextValue и getPreviousValue.

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

getNextValue

public Object getNextValue()

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

Указано в:
getNextValue в интерфейсе SpinnerModel
Возвращает:
value + stepSize или null, если сумма превышает maximum.
См. также:
SpinnerModel.getNextValue(), getPreviousValue(), setStepSize(java.lang.Number)

getPreviousValue

public Object getPreviousValue()

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

Указано в:
getPreviousValue в интерфейсе SpinnerModel
Возвращает:
value - stepSize, или null, если сумма меньше minimum.
См. также:
SpinnerModel.getPreviousValue(), getNextValue(), setStepSize(java.lang.Number)

getNumber

public Number getNumber()

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

Возвращает:
свойство value
См. также:
setValue(java.lang.Object)

getValue

public Object getValue()

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

Указано в:
getValue в интерфейсе SpinnerModel
Возвращает:
свойство value
См. также:
setValue(java.lang.Object), getNumber()

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
См. также:
getNumber(), getValue(), SpinnerModel.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