public static class JSpinner.DefaultEditor extends JPanel implements ChangeListener, PropertyChangeListener, LayoutManager
JFormattedTextField.  Subclasses
 can configure the JFormattedTextField to create
 an editor that's appropriate for the type of model they
 support and they may want to override
 the stateChanged and propertyChanged
 methods, which keep the model and the text field in sync.
 
 This class defines a dismiss method that removes the
 editors ChangeListener from the JSpinner
 that it's part of.   The setEditor method knows about
 DefaultEditor.dismiss, so if the developer
 replaces an editor that's derived from JSpinner.DefaultEditor
 its ChangeListener connection back to the
 JSpinner will be removed.  However after that,
 it's up to the developer to manage their editor listeners.
 Similarly, if a subclass overrides createEditor,
 it's up to the subclasser to deal with their editor
 subsequently being replaced (with setEditor).
 We expect that in most cases, and in editor installed
 with setEditor or created by a createEditor
 override, will not be replaced anyway.
 
 This class is the LayoutManager for it's single
 JFormattedTextField child.   By default the
 child is just centered with the parents insets.
JPanel.AccessibleJPanelJComponent.AccessibleJComponentContainer.AccessibleAWTContainerComponent.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategylistenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWaccessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH| Constructor and Description | 
|---|
| DefaultEditor(JSpinner spinner)Constructs an editor component for the specified  JSpinner. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | addLayoutComponent(String name,
                  Component child)This  LayoutManagermethod does nothing. | 
| void | commitEdit()Pushes the currently edited value to the  SpinnerModel. | 
| void | dismiss(JSpinner spinner)Disconnect  thiseditor from the specifiedJSpinner. | 
| int | getBaseline(int width,
           int height)Returns the baseline. | 
| Component.BaselineResizeBehavior | getBaselineResizeBehavior()Returns an enum indicating how the baseline of the component
 changes as the size changes. | 
| JSpinner | getSpinner()Returns the  JSpinnerancestor of this editor ornullif none of the ancestors are aJSpinner. | 
| JFormattedTextField | getTextField()Returns the  JFormattedTextFieldchild of this
 editor. | 
| void | layoutContainer(Container parent)Resize the one (and only) child to completely fill the area
 within the parents insets. | 
| Dimension | minimumLayoutSize(Container parent)Returns the minimum size of first (and only) child plus the
 size of the parents insets. | 
| Dimension | preferredLayoutSize(Container parent)Returns the preferred size of first (and only) child plus the
 size of the parents insets. | 
| void | propertyChange(PropertyChangeEvent e)Called by the  JFormattedTextFieldPropertyChangeListener. | 
| void | removeLayoutComponent(Component child)This  LayoutManagermethod does nothing. | 
| void | stateChanged(ChangeEvent e)This method is called when the spinner's model's state changes. | 
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIaddAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, 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, 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, updateadd, 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, validateTreeaction, 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, transferFocusUpCyclepublic DefaultEditor(JSpinner spinner)
JSpinner.
 This DefaultEditor is it's own layout manager and
 it is added to the spinner's ChangeListener list.
 The constructor creates a single JFormattedTextField child,
 initializes it's value to be the spinner model's current value
 and adds it to this DefaultEditor.spinner - the spinner whose model this editor will monitorgetTextField(), 
JSpinner.addChangeListener(javax.swing.event.ChangeListener)public void dismiss(JSpinner spinner)
this editor from the specified
 JSpinner.  By default, this method removes
 itself from the spinners ChangeListener list.spinner - the JSpinner to disconnect this
    editor from; the same spinner as was passed to the constructor.public JSpinner getSpinner()
JSpinner ancestor of this editor or
 null if none of the ancestors are a
 JSpinner.
 Typically the editor's parent is a JSpinner however
 subclasses of JSpinner may override the
 the createEditor method and insert one or more containers
 between the JSpinner and it's editor.JSpinner ancestor; null
         if none of the ancestors are a JSpinnerJSpinner.createEditor(javax.swing.SpinnerModel)public JFormattedTextField getTextField()
JFormattedTextField child of this
 editor.  By default the text field is the first and only
 child of editor.JFormattedTextField that gives the user
     access to the SpinnerDateModel's value.getSpinner(), 
JSpinner.getModel()public void stateChanged(ChangeEvent e)
value of the text field to the current
 value of the spinners model.stateChanged in interface ChangeListenere - the ChangeEvent whose source is the
 JSpinner whose model has changed.getTextField(), 
JSpinner.getValue()public void propertyChange(PropertyChangeEvent e)
JFormattedTextField
 PropertyChangeListener.  When the "value"
 property changes, which implies that the user has typed a new
 number, we set the value of the spinners model.
 
 This class ignores PropertyChangeEvents whose
 source is not the JFormattedTextField, so subclasses
 may safely make this DefaultEditor a
 PropertyChangeListener on other objects.
propertyChange in interface PropertyChangeListenere - the PropertyChangeEvent whose source is
    the JFormattedTextField created by this class.getTextField()public void addLayoutComponent(String name, Component child)
LayoutManager method does nothing.  We're
 only managing a single child and there's no support
 for layout constraints.addLayoutComponent in interface LayoutManagername - ignoredchild - ignoredpublic void removeLayoutComponent(Component child)
LayoutManager method does nothing.  There
 isn't any per-child state.removeLayoutComponent in interface LayoutManagerchild - ignoredpublic Dimension preferredLayoutSize(Container parent)
preferredLayoutSize in interface LayoutManagerparent - the Container that's managing the layoutLayoutManager.minimumLayoutSize(java.awt.Container)public Dimension minimumLayoutSize(Container parent)
minimumLayoutSize in interface LayoutManagerparent - the Container that's managing the layoutLayoutManager.preferredLayoutSize(java.awt.Container)public void layoutContainer(Container parent)
layoutContainer in interface LayoutManagerparent - the container to be laid outpublic void commitEdit()
                throws ParseException
SpinnerModel.
 
 The default implementation invokes commitEdit on the
 JFormattedTextField.
ParseException - if the edited value is not legalpublic int getBaseline(int width,
                       int height)
getBaseline in class JComponentwidth - the width to get the baseline forheight - the height to get the baseline forIllegalArgumentException - if width or height is < 0JComponent.getBaseline(int,int), 
JComponent.getBaselineResizeBehavior()public Component.BaselineResizeBehavior getBaselineResizeBehavior()
getBaselineResizeBehavior in class JComponentNullPointerExceptionJComponent.getBaseline(int, int) Submit a bug or feature 
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, 2023, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.