Spec-Zone.ru › OpenJDK 8

Класс JSpinner

  • java.lang.Object
    • java.awt.Component
      • java.awt.Container
        • javax.swing.JComponent
          • javax.swing.JSpinner
Все реализованные интерфейсы:
ImageObserver, MenuContainer, Serializable, Accessible

public class JSpinner
extends JComponent
implements Accessible

Поле ввода одной строки, которое позволяет пользователю выбрать число или значение объекта из упорядоченной последовательности. Спиннеры обычно предоставляют пару маленьких кнопок со стрелками для перехода по элементам последовательности. Клавиши со стрелками вверх/вниз на клавиатуре также циклически просматривают элементы. Пользователю также может быть разрешено вводить (допустимое) значение непосредственно в спиннер. Хотя комбинированные поля (combo boxes) обеспечивают аналогичную функциональность, спиннеры иногда предпочтительнее, так как они не требуют раскрывающегося списка, который может заслонять важную информацию.

Последовательность значений спиннера определяется его SpinnerModel. model можно указать в качестве аргумента конструктора и изменить свойством model. Для некоторых распространённых типов предоставляются SpinnerListModel, SpinnerNumberModel и SpinnerDateModel классы.

Спиннер имеет единственный дочерний компонент, который отвечает за отображение и, возможно, изменение текущего элемента или значения модели, который называется editor. Редактор создаётся конструктором JSpinner и может быть изменён свойством editor. Редактор спиннера синхронизируется с моделью, прослушивая ChangeEvent. Если пользователь изменил значение, отображаемое editor, возможно, что значение model отличается от значения editor. Чтобы убедиться, что model имеет то же значение, что и редактор, используйте метод commitEdit, например:

try {
       spinner.commitEdit();
   }
   catch (ParseException pe) {
       // Edited value is invalid, spinner.getValue() will return
       // the last valid value, you could revert the spinner to show that:
       JComponent editor = spinner.getEditor();
       if (editor instanceof DefaultEditor) {
           ((DefaultEditor)editor).getTextField().setValue(spinner.getValue());
       }
       // reset the value to some known value:
       spinner.setValue(fallbackValue);
       // or treat the last valid value as the current, in which
       // case you don't need to do anything.
   }
   return spinner.getValue();

Для получения информации и примеров использования спиннера см. Как использовать спиннеры, раздел в Java Tutorial.

Предупреждение: Swing не является потокобезопасным. Дополнительную информацию см. в Политике потоков Swing.

Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими версиями Swing. Текущая поддержка сериализации подходит для краткосрочного хранения или RMI между приложениями, работающими с одной версией Swing. С версии 1.4 добавлена поддержка долгосрочного хранения всех JavaBeans™ в пакете java.beans. См. XMLEncoder.

С версии:
1.4
См. также:
SpinnerModel, AbstractSpinnerModel, SpinnerListModel, SpinnerNumberModel, SpinnerDateModel, JFormattedTextField

Вложенные классы

Модификатор и тип Класс и описание
protected class  JSpinner.AccessibleJSpinner

AccessibleJSpinner реализует поддержку доступности для класса JSpinner.

static class  JSpinner.DateEditor

Редактор для JSpinner, модель которого — SpinnerDateModel.

static class  JSpinner.DefaultEditor

Простой базовый класс для более специализированных редакторов, отображающих только для чтения текущее значение модели с JFormattedTextField.

static class  JSpinner.ListEditor

Редактор для JSpinner, модель которого — SpinnerListModel.

static class  JSpinner.NumberEditor

Редактор для JSpinner, модель которого — SpinnerNumberModel.

Вложенные классы/интерфейсы, унаследованные от класса javax.swing.JComponent

JComponent.AccessibleJComponent

Вложенные классы/интерфейсы, унаследованные от класса java.awt.Container

Container.AccessibleAWTContainer

Вложенные классы/интерфейсы, унаследованные от класса java.awt.Component

Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy

Поля

Поля, унаследованные от класса javax.swing.JComponent

listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW

Поля, унаследованные от класса java.awt.Component

accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT

Поля, унаследованные от интерфейса java.awt.image.ImageObserver

ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH

Конструкторы

Конструктор и описание
JSpinner()

Создаёт спиннер с Integer SpinnerNumberModel начальным значением 0 и без минимальных или максимальных ограничений.

JSpinner(SpinnerModel model)

Создаёт спиннер для заданной модели.

Методы

Модификатор и тип Метод и описание
void addChangeListener(ChangeListener listener)

Добавляет слушателя в список, который уведомляется каждый раз при изменении модели.

void commitEdit()

Сохраняет текущее редактируемое значение в SpinnerModel.

protected JComponent createEditor(SpinnerModel model)

Этот метод вызывается конструкторами для создания JComponent, который отображает текущее значение последовательности.

protected void fireStateChanged()

Отправляет ChangeEvent, чьим источником является этот JSpinner, каждому ChangeListener.

AccessibleContext getAccessibleContext()

Получает AccessibleContext для JSpinner

ChangeListener[] getChangeListeners()

Возвращает массив всех ChangeListener , добавленных в этот JSpinner с помощью addChangeListener().

JComponent getEditor()

Возвращает компонент, который отображает и, возможно, изменяет значение модели.

SpinnerModel getModel()

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

Object getNextValue()

Возвращает объект в последовательности, который следует за объектом, возвращённым getValue().

Object getPreviousValue()

Возвращает объект в последовательности, который предшествует объекту, возвращённому getValue().

SpinnerUI getUI()

Возвращает объект внешнего вида (L&F), который отображает этот компонент.

String getUIClassID()

Возвращает суффикс, используемый для построения имени класса внешнего вида (L&F), используемого для отображения этого компонента.

Object getValue()

Возвращает текущее значение модели, обычно это значение отображается editor.

void removeChangeListener(ChangeListener listener)

Удаляет ChangeListener из этого спиннера.

void setEditor(JComponent editor)

Изменяет JComponent , отображающий текущее значение SpinnerModel.

void setModel(SpinnerModel model)

Изменяет модель, представляющую значение этого спиннера.

void setUI(SpinnerUI ui)

Устанавливает объект внешнего вида (L&F), который отображает этот компонент.

void setValue(Object value)

Изменяет текущее значение модели, обычно это значение отображается editor.

void updateUI()

Сбрасывает свойство UI со значением из текущего внешнего вида.

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

addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update

Методы, унаследованные от класса java.awt.Container

add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree

Методы, унаследованные от класса java.awt.Component

action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle

Методы, унаследованные от класса java.lang.Object

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

Конструкторы

JSpinner

public JSpinner(SpinnerModel model)

Создаёт спиннер для заданной модели. Спиннер имеет кнопки "Предыдущее" / "Следующее" и редактор, подходящий для модели.

Исключения:
NullPointerException - если модель null

JSpinner

public JSpinner()

Создаёт спиннер со значением по умолчанию 0 и без минимальных или максимальных ограничений.

Методы

getUI

public SpinnerUI getUI()

Возвращает объект визуального представления (L&F), который отрисовывает этот компонент.

Возвращает:
объект визуального представления (L&F), который отрисовывает этот компонент

setUI

public void setUI(SpinnerUI ui)

Устанавливает объект визуального представления (L&F), который отрисовывает этот компонент.

Параметры:
ui - объект визуального представления (L&F)
См. также:
UIDefaults.getUI(javax.swing.JComponent)

getUIClassID

public String getUIClassID()

Возвращает суффикс, используемый для построения имени класса визуального представления (L&F), используемого для отрисовки этого компонента.

Переопределяет:
getUIClassID в классе JComponent
Возвращает:
строку "SpinnerUI"
См. также:
JComponent.getUIClassID(), UIDefaults.getUI(javax.swing.JComponent)

updateUI

public void updateUI()

Сбрасывает свойство UI со значением из текущего визуального представления.

Переопределяет:
updateUI в классе JComponent
См. также:
UIManager.getUI(javax.swing.JComponent)

createEditor

protected JComponent createEditor(SpinnerModel model)

Этот метод вызывается конструкторами для создания редактора, который отображает текущее значение последовательности. Редактор также может позволять пользователю вводить элемент последовательности напрямую. Редактор должен реагировать на изменения в модели и синхронизировать отображаемое значение с значением модели.

Подклассы могут переопределять этот метод, чтобы добавить поддержку новых типов редакторов. В качестве альтернативы можно просто заменить созданный здесь редактор методом setEditor. По умолчанию отображение от типа модели до редактора:

  • SpinnerNumberModel => JSpinner.NumberEditor
  • SpinnerDateModel => JSpinner.DateEditor
  • SpinnerListModel => JSpinner.ListEditor
  • все остальные => JSpinner.DefaultEditor
Параметры:
model - значение getModel
Возвращает:
компонент, отображающий текущее значение последовательности
См. также:
getModel(), setEditor(javax.swing.JComponent)

setModel

public void setModel(SpinnerModel model)

Изменяет модель, представляющую значение этого спиннера. Если свойство editor не было явно установлено, оно (неявно) устанавливается после того, как было вызвано событие изменения модели. Свойство editor устанавливается в значение, возвращаемое методом getEditor(), как в:

setEditor(createEditor(model));

Параметры:
model - новая модель
Исключения:
IllegalArgumentException - если модель null
См. также:
getModel(), getEditor(), setEditor(javax.swing.JComponent)

getModel

public SpinnerModel getModel()

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

Возвращает:
значение свойства модели
См. также:
setModel(javax.swing.SpinnerModel)

getValue

public Object getValue()

Возвращает текущее значение модели, обычно это значение отображается редактором. Если пользователь изменил значение, отображаемое редактором, возможно, что значение модели отличается от значения редактора. См. документацию класса для примеров, как с этим справиться.

Этот метод просто делегирует вызов модели. Он эквивалентен:

getModel().getValue()
См. также:
setValue(java.lang.Object), SpinnerModel.getValue()

setValue

public void setValue(Object value)

Изменяет текущее значение модели, обычно это значение отображается редактором. Если реализация редактора не поддерживает указанное значение, выбрасывается исключение.

Этот метод просто делегирует вызов модели. Он эквивалентен:

getModel().setValue(value)
Исключения:
IllegalArgumentException - если value недопустимо
См. также:
getValue(), SpinnerModel.setValue(java.lang.Object)

getNextValue

public Object getNextValue()

Возвращает объект в последовательности, который следует за объектом, возвращённым методом getValue(). Если конец последовательности достигнут, возвращается значение по умолчанию. Вызов этого метода не влияет на редактор.

Этот метод просто делегирует вызов модели. Он эквивалентен:

getModel().getNextValue()
Возвращает:
следующее допустимое значение или значение по умолчанию, если оно не существует
См. также:
getValue(), getPreviousValue(), SpinnerModel.getNextValue()

addChangeListener

public void addChangeListener(ChangeListener listener)

Добавляет слушателя в список, который уведомляется каждый раз, когда происходит изменение модели. Источником события изменения, переданного слушателю, будет этот спиннер. Обратите внимание, что замена модели не повлияет на слушателей, добавленных непосредственно в JSpinner. Приложения могут добавлять слушателей непосредственно к модели. В этом случае источником события будет модель.

Параметры:
listener - слушатель для добавления
См. также:
removeChangeListener(javax.swing.event.ChangeListener), getModel()

removeChangeListener

public void removeChangeListener(ChangeListener listener)

Удаляет слушателя из спиннера.

Параметры:
listener - слушатель для удаления
См. также:
fireStateChanged(), addChangeListener(javax.swing.event.ChangeListener)

getChangeListeners

public ChangeListener[] getChangeListeners()

Возвращает массив всех слушателей, добавленных в этот JSpinner с помощью addChangeListener().

Возвращает:
массив всех добавленных слушателей или пустой массив, если слушатели не добавлены
С тех пор как:
1.4

fireStateChanged

protected void fireStateChanged()

Отправляет событие изменения модели всем слушателям, источником которого является этот спиннер. Когда слушатель добавлен к спиннеру, этот метод вызывается каждый раз, когда поступает событие изменения от модели.

См. также:
addChangeListener(javax.swing.event.ChangeListener), removeChangeListener(javax.swing.event.ChangeListener), EventListenerList

getPreviousValue

public Object getPreviousValue()

Возвращает объект в последовательности, который предшествует объекту, возвращённому методом getValue(). Если конец последовательности достигнут, возвращается значение по умолчанию. Вызов этого метода не влияет на редактор.

Этот метод просто делегирует вызов модели. Он эквивалентен:

getModel().getPreviousValue()
Возвращает:
предыдущее допустимое значение или значение по умолчанию, если оно не существует
См. также:
getValue(), getNextValue(), SpinnerModel.getPreviousValue()

setEditor

public void setEditor(JComponent editor)

Изменяет редактор, отображающий текущее значение модели. Ответственность этого метода - отсоединить старый редактор от модели и подключить новый редактор. Это может означать удаление старого редактора из модели или спиннера и добавление нового для нового редактора.

Параметры:
editor - новый редактор
Исключения:
IllegalArgumentException - если редактор null
См. также:
getEditor(), createEditor(javax.swing.SpinnerModel), getModel()

getEditor

public JComponent getEditor()

Возвращает компонент, отображающий и, возможно, изменяющий значение модели.

Возвращает:
компонент, отображающий и изменяющий значение модели
См. также:
setEditor(javax.swing.JComponent), createEditor(javax.swing.SpinnerModel)

commitEdit

public void commitEdit()
                throws ParseException

Сохраняет текущее редактируемое значение в модели.

Если редактор является экземпляром SpinnerEditor, вызов перенаправляется редактору, в противном случае ничего не происходит.

Исключения:
ParseException - если текущее редактируемое значение не может быть сохранено.

getAccessibleContext

public AccessibleContext getAccessibleContext()

Получает AccessibleContext для JSpinner

Определено в:
getAccessibleContext в интерфейсе Accessible
Переопределяет:
getAccessibleContext в классе Component
Возвращает:
AccessibleContext для JSpinner
С:
1.5

© 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