Spec-Zone.ru › OpenJDK 17

Класс JSpinner

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JSpinner
Все реализуемые интерфейсы:
ImageObserver, MenuContainer, Serializable, Accessible
@JavaBean(defaultProperty="UI", description="A single line input field that lets the user select a number or an object value from an ordered set.") public class JSpinner extends JComponent implements Accessible
Поле ввода одной строки, позволяющее пользователю выбрать число или значение объекта из упорядоченной последовательности. Спиннеры обычно предоставляют пару маленьких кнопок со стрелками для перехода по элементам последовательности. Кнопки со стрелками вверх/вниз на клавиатуре также позволяют циклически перемещаться по элементам. Пользователь также может ввести (допустимое) значение непосредственно в спиннер. Хотя комбинированные поля (combo boxes) обеспечивают похожую функциональность, спиннеры иногда предпочтительнее, поскольку им не требуется раскрывающееся меню, которое может скрывать важную информацию.

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

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

   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.

Предупреждение: 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, 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, 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, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, 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)
Создаёт спиннер для заданной модели. Спиннер имеет набор кнопок «предыдущее/следующее» и редактор, подходящий для модели.
Параметры:
model - модель для нового спиннера
Исключения:
NullPointerException - если модель является null

JSpinner

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

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

getUI

public SpinnerUI getUI()
Возвращает объект темы внешнего вида (L&F), который отображает этот компонент.
Переопределяет:
getUI в классе JComponent
Возвращает:
объект темы внешнего вида (L&F), который отображает этот компонент

setUI

public void setUI(SpinnerUI ui)
Устанавливает объект темы внешнего вида (L&F), который отображает этот компонент.
Параметры:
ui - объект темы внешнего вида (L&F)
См. также:
  • UIDefaults.getUI(javax.swing.JComponent)

getUIClassID

@BeanProperty(bound=false) 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)
Этот метод вызывается конструкторами для создания JComponent, который отображает текущее значение последовательности. Редактор также может позволить пользователю вводить элемент последовательности непосредственно. Редактор должен отслеживать ChangeEvents в model и поддерживать отображаемое значение синхронизированным со значением модели.

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

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

setModel

@BeanProperty(visualUpdate=true, description="Model that represents the value of this spinner.") public void setModel(SpinnerModel model)
Изменяет модель, представляющую значение этого спиннера. Если свойство editor не было явно установлено, свойство editor неявно устанавливается после того, как событие "model" PropertyChangeEvent было сгенерировано. Свойство editor устанавливается в значение, возвращаемое методом createEditor, как в:
 setEditor(createEditor(model));
 
Параметры:
model - новая SpinnerModel
Исключения:
IllegalArgumentException - если модель является null
См. также:
  • getModel()
  • getEditor()
  • setEditor(javax.swing.JComponent)

getModel

public SpinnerModel getModel()
Возвращает SpinnerModel, определяющий последовательность значений этого спиннера.
Возвращает:
значение свойства model
См. также:
  • setModel(javax.swing.SpinnerModel)

getValue

public Object getValue()
Возвращает текущее значение модели, обычно это значение отображается editor. Если пользователь изменил значение, отображаемое editor, возможно, что значение model отличается от значения editor. См. JavaDoc класса для примеров работы с этим.

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

 getModel().getValue()
 
Возвращает:
текущее значение модели
См. также:
  • setValue(java.lang.Object)
  • SpinnerModel.getValue()

setValue

public void setValue(Object value)
Изменяет текущее значение модели, обычно это значение отображается editor. Если реализация SpinnerModel не поддерживает указанное значение, выбрасывается IllegalArgumentException.

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

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

getNextValue

@BeanProperty(bound=false) public Object getNextValue()
Возвращает объект в последовательности, который следует за объектом, возвращаемым методом getValue(). Если достигнут конец последовательности, возвращает null. Вызов этого метода не влияет на value.

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

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

addChangeListener

public void addChangeListener(ChangeListener listener)
Добавляет слушателя в список, который уведомляется каждый раз, когда происходит изменение в модели. Источник ChangeEvents, переданный в ChangeListeners, будет этим JSpinner. Обратите внимание, что замена модели не повлияет на слушателей, добавленных непосредственно в JSpinner. Приложения могут добавлять слушателей непосредственно в модель. В этом случае источником события будет SpinnerModel.
Параметры:
listener - слушатель ChangeListener
См. также:
  • removeChangeListener(javax.swing.event.ChangeListener)
  • getModel()

removeChangeListener

public void removeChangeListener(ChangeListener listener)
Удаляет слушателя ChangeListener из этого спиннера.
Параметры:
listener - слушатель ChangeListener для удаления
См. также:
  • fireStateChanged()
  • addChangeListener(javax.swing.event.ChangeListener)

getChangeListeners

@BeanProperty(bound=false) public ChangeListener[] getChangeListeners()
Возвращает массив всех слушателей ChangeListener, добавленных в этот JSpinner с помощью addChangeListener().
Возвращает:
все добавленные слушатели ChangeListener или пустой массив, если слушатели не добавлены
С момента:
1.4

fireStateChanged

protected void fireStateChanged()
Отправляет событие ChangeEvent, источником которого является этот JSpinner, каждому слушателю ChangeListener. Когда слушатель ChangeListener добавлен в спиннер, этот метод вызывается каждый раз, когда в модель поступает ChangeEvent.
См. также:
  • addChangeListener(javax.swing.event.ChangeListener)
  • removeChangeListener(javax.swing.event.ChangeListener)
  • EventListenerList

getPreviousValue

@BeanProperty(bound=false) public Object getPreviousValue()
Возвращает объект в последовательности, который предшествует объекту, возвращённому методом getValue(). Если достигнут конец последовательности, то возвращает null. Вызов этого метода не влияет на value.

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

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

setEditor

@BeanProperty(visualUpdate=true, description="JComponent that displays the current value of the model") public void setEditor(JComponent editor)
Изменяет компонент, который отображает текущее значение SpinnerModel. Ответственность этого метода – отключить старый редактор от модели и подключить новый. Это может означать удаление старых редакторов ChangeListener из модели или спиннера и добавление одного для нового редактора.
Параметры:
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
Сохраняет текущее редактируемое значение в SpinnerModel.

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

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

getAccessibleContext

@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
Получает AccessibleContext для JSpinner
Определено в:
getAccessibleContext в интерфейсе Accessible
Переопределяет:
getAccessibleContext в классе Component
Возвращает:
AccessibleContext для JSpinner
С тех пор, как:
1.5

© 1993, 2021, 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/17/docs/api/java.desktop/javax/swing/JSpinner.html

Spec-Zone.ru

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