public class SpinnerNumberModel extends AbstractSpinnerModel implements Serializable
SpinnerModel для последовательностей чисел. Верхние и нижние границы последовательности определяются вызванными свойствами minimum и maximum. Размер увеличения или уменьшения, вычисленного nextValue и previousValue методы определяются вызванным свойством stepSize. minimum и maximum свойства могут быть null указать, что у последовательности нет никакого более низкого или верхнего предела. Все свойства в этом class определяются с точки зрения двух универсальных типов: Number и Comparable, так, чтобы весь Java числовые типы мог быть размещен. Внутренне, есть только поддержка значений, тип которых является одним из примитива Number типы: Double, Float, Long, Integer, Short, или Byte. Создать a SpinnerNumberModel для целочисленного нуля диапазона к сто, с пятьдесят как начальное значение, можно было записать:
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();
Прядильщики для целых чисел и удваиваются, распространены, таким образом, специальным конструкторам для этих случаев предоставляют. Например, чтобы создать модель в предыдущем примере, можно было также записать:
SpinnerNumberModel model = new SpinnerNumberModel(50, 0, 100, 1);
Эта модель наследовала a ChangeListener. ChangeListeners уведомляются всякий раз, когда модель value, stepSize, minimum, или maximum изменения свойств.
JSpinner, SpinnerModel, AbstractSpinnerModel, SpinnerListModel, SpinnerDateModellistenerList| Конструктор и Описание |
|---|
SpinnerNumberModel()
Конструкции a
SpinnerNumberModel без minimum или maximum значение, stepSize равный одному, и начальному значению нуля. |
SpinnerNumberModel(double value, double minimum, double maximum, double stepSize)
Конструкции a
SpinnerNumberModel с указанным value, minimum/maximum границы, и stepSize. |
SpinnerNumberModel(int value, int minimum, int maximum, int stepSize)
Конструкции a
SpinnerNumberModel с указанным value, minimum/maximum границы, и stepSize. |
SpinnerNumberModel(Number value, Comparable minimum, Comparable maximum, Number stepSize)
Конструкции a
SpinnerModel это представляет закрытую последовательность чисел от minimum к maximum. |
| Модификатор и Тип | Метод и Описание |
|---|---|
Сопоставимый |
getMaximum()
Возвращает последнее число в последовательности.
|
Сопоставимый |
getMinimum()
Возвращает первое число в этой последовательности.
|
Объект |
getNextValue()
Возвращает следующее число в последовательности.
|
Число |
getNumber()
Возвращает значение текущего элемента последовательности.
|
Объект |
getPreviousValue()
Возвращает предыдущее число в последовательности.
|
Число |
getStepSize()
Возвращает размер изменения значения, вычисленного
getNextValue и getPreviousValue методы. |
Объект |
getValue()
Возвращает значение текущего элемента последовательности.
|
void |
setMaximum(Comparable maximum)
Изменяет верхнюю границу для чисел в этой последовательности.
|
void |
setMinimum(Comparable minimum)
Изменяет нижнюю границу для чисел в этой последовательности.
|
void |
setStepSize(Number stepSize)
Изменяет размер изменения значения, вычисленного
getNextValue и getPreviousValue методы. |
void |
setValue(Object value)
Устанавливает текущую стоимость для этой последовательности.
|
addChangeListener, fireStateChanged, getChangeListeners, getListeners, removeChangeListenerpublic 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 определяются и mininum > maximum тогда IllegalArgumentException бросается. Так же, если (minimum <= value <= maximum) ложь, IllegalArgumentException бросается.
value - ток (нет null) значение моделиminimum - первое число в последовательности или nullmaximum - последнее число в последовательности или nullstepSize - различие между элементами последовательностиIllegalArgumentException - если stepSize или значение null или если следующее выражение является ложью: minimum <= value <= maximumpublic SpinnerNumberModel(int value,
int minimum,
int maximum,
int stepSize)
SpinnerNumberModel с указанным value, minimum/maximum границы, и stepSize.value - текущая стоимость моделиminimum - первое число в последовательностиmaximum - последнее число в последовательностиstepSize - различие между элементами последовательностиIllegalArgumentException - если следующее выражение является ложью: minimum <= value <= maximumpublic SpinnerNumberModel(double value,
double minimum,
double maximum,
double stepSize)
SpinnerNumberModel с указанным value, minimum/maximum границы, и stepSize.value - текущая стоимость моделиminimum - первое число в последовательностиmaximum - последнее число в последовательностиstepSize - различие между элементами последовательностиIllegalArgumentException - если следующее выражение является ложью: minimum <= value <= maximumpublic SpinnerNumberModel()
SpinnerNumberModel без minimum или maximum значение, stepSize равный одному, и начальному значению нуля.public void setMinimum(Comparable minimum)
minimum null, тогда нет никакой нижней границы. Никакая проверка границ не делается здесь; новое minimum значение может лишить законной силы (minimum <= value <= maximum) инвариант осуществляется конструкторами. Это должно упростить обновление модели, естественно нужно гарантировать, что инвариант является истиной прежде, чем вызвать getNextValue, getPreviousValue, или setValue методы. Обычно это свойство является a Number из того же самого типа как value однако возможно использовать любого Comparable с a compareTo метод для a Number с тем же самым типом как значение. Например, если значение было a Long, minimum мог бы быть подкласс Даты, определенный как это:
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));
}
}
This method fires a ChangeEvent
if the minimum has changed.
minimum - a Comparable that has a
compareTo method for Numbers with
the same type as valuegetMinimum(),
setMaximum(java.lang.Comparable),
SpinnerModel.addChangeListener(javax.swing.event.ChangeListener)public Comparable getMinimum()
minimum propertysetMinimum(java.lang.Comparable)public void setMaximum(Comparable maximum)
maximum is null, then there
is no upper bound. No bounds checking is done here; the new
maximum value may invalidate the
(minimum <= value < maximum)
invariant enforced by the constructors. This is to simplify updating
the model, naturally one should ensure that the invariant is true
before calling the next, previous,
or setValue methods.
Typically this property is a Number of the same type
as the value however it's possible to use any
Comparable with a compareTo
method for a Number with the same type as the value.
See
setMinimum for an example.
This method fires a ChangeEvent if the
maximum has changed.
maximum - a Comparable that has a
compareTo method for Numbers with
the same type as valuegetMaximum(),
setMinimum(java.lang.Comparable),
SpinnerModel.addChangeListener(javax.swing.event.ChangeListener)public Comparable getMaximum()
maximum propertysetMaximum(java.lang.Comparable)public void setStepSize(Number stepSize)
getNextValue and getPreviousValue
methods. An IllegalArgumentException
is thrown if stepSize is null.
This method fires a ChangeEvent if the
stepSize has changed.
stepSize - the size of the value change computed by the
getNextValue and getPreviousValue methodsgetNextValue(),
getPreviousValue(),
getStepSize(),
SpinnerModel.addChangeListener(javax.swing.event.ChangeListener)public Number getStepSize()
getNextValue
and getPreviousValue methods.stepSize propertysetStepSize(java.lang.Number)public Object getNextValue()
getNextValue in interface SpinnerModelvalue + stepSize or null if the sum
exceeds maximum.SpinnerModel.getNextValue(),
getPreviousValue(),
setStepSize(java.lang.Number)public Object getPreviousValue()
getPreviousValue in interface SpinnerModelvalue - stepSize, or
null if the sum is less
than minimum.SpinnerModel.getPreviousValue(),
getNextValue(),
setStepSize(java.lang.Number)public Number getNumber()
setValue(java.lang.Object)public Object getValue()
getValue in interface SpinnerModelsetValue(java.lang.Object),
getNumber()public void setValue(Object value)
value is
null, or not a Number, an
IllegalArgumentException is thrown. No
bounds checking is done here; the new value may invalidate the
(minimum <= value <= maximum)
invariant enforced by the constructors. It's also possible to set
the value to be something that wouldn't naturally occur in the sequence,
i.e. a value that's not modulo the stepSize.
This is to simplify updating the model, and to accommodate
spinners that don't want to restrict values that have been
directly entered by the user. Naturally, one should ensure that the
(minimum <= value <= maximum) invariant is true
before calling the next, previous, or
setValue methods.
This method fires a ChangeEvent if the value has changed.
setValue in interface SpinnerModelvalue - the current (non null) Number
for this sequenceIllegalArgumentException - if value is
null or not a NumbergetNumber(),
getValue(),
SpinnerModel.addChangeListener(javax.swing.event.ChangeListener)
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.
DRAFT ea-b92