Class JSpinField

  • All Implemented Interfaces:
    java.awt.event.ActionListener, java.awt.event.FocusListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.CaretListener, javax.swing.event.ChangeListener
    Direct Known Subclasses:
    JYearChooser

    public class JSpinField
    extends javax.swing.JPanel
    implements javax.swing.event.ChangeListener, javax.swing.event.CaretListener, java.awt.event.ActionListener, java.awt.event.FocusListener
    JSpinField is a numeric field with 2 spin buttons to increase or decrease the value. It has the same interface as the "old" JSpinField but uses a JSpinner internally (since J2SE SDK 1.4) rather than a scrollbar for emulating the spin buttons.
    Version:
    $LastChangedRevision: 85 $, $LastChangedDate: 2006-04-28 13:50:52 +0200 (Fr, 28 Apr 2006) $
    Author:
    Kai Toedter
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.JPanel

        javax.swing.JPanel.AccessibleJPanel
      • Nested classes/interfaces inherited from class javax.swing.JComponent

        javax.swing.JComponent.AccessibleJComponent
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.awt.Color darkGreen  
      protected int max  
      protected int min  
      protected javax.swing.JSpinner spinner  
      protected javax.swing.JTextField textField
      the text (number) field
      protected int value  
      • Fields inherited from class javax.swing.JComponent

        listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
      • Fields inherited from class java.awt.Component

        accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
      • Fields inherited from interface java.awt.image.ImageObserver

        ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    • Constructor Summary

      Constructors 
      Constructor Description
      JSpinField()
      Default JSpinField constructor.
      JSpinField​(int min, int max)
      JSpinField constructor with given minimum and maximum vaues and initial value 0.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void actionPerformed​(java.awt.event.ActionEvent e)
      After any user input, the value of the textfield is proofed.
      void adjustWidthToMaximumValue()  
      void caretUpdate​(javax.swing.event.CaretEvent e)
      After any user input, the value of the textfield is proofed.
      void focusGained​(java.awt.event.FocusEvent e)  
      void focusLost​(java.awt.event.FocusEvent e)
      The value of the text field is checked against a valid (green) value.
      int getMaximum()
      Returns the maximum value.
      int getMinimum()
      Returns the minimum value.
      java.awt.Component getSpinner()
      Returns the year chooser's spinner (which allow the focus to be set to it).
      int getValue()
      Returns the value.
      static void main​(java.lang.String[] s)
      Creates a JFrame with a JSpinField inside and can be used for testing.
      void setEnabled​(boolean enabled)
      Enable or disable the JSpinField.
      void setFont​(java.awt.Font font)
      Sets the font property.
      void setForeground​(java.awt.Color fg)
      Sets the foreground
      void setHorizontalAlignment​(int alignment)
      Sets the horizontal alignment of the displayed value.
      void setMaximum​(int newMaximum)
      Sets the maximum value and adjusts the preferred width.
      void setMinimum​(int newMinimum)
      Sets the minimum value.
      void setValue​(int newValue)
      Sets the value.
      protected void setValue​(int newValue, boolean updateTextField, boolean firePropertyChange)
      Sets the value attribute of the JSpinField object.
      void stateChanged​(javax.swing.event.ChangeEvent e)
      Is invoked when the spinner model changes
      • Methods inherited from class javax.swing.JPanel

        getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
      • Methods inherited from class 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, 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, setFocusTraversalKeys, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
      • Methods inherited from class 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
      • Methods inherited from class 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, 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
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • spinner

        protected javax.swing.JSpinner spinner
      • textField

        protected javax.swing.JTextField textField
        the text (number) field
      • min

        protected int min
      • max

        protected int max
      • value

        protected int value
      • darkGreen

        protected java.awt.Color darkGreen
    • Constructor Detail

      • JSpinField

        public JSpinField()
        Default JSpinField constructor. The valid value range is between Integer.MIN_VALUE and Integer.MAX_VALUE. The initial value is 0.
      • JSpinField

        public JSpinField​(int min,
                          int max)
        JSpinField constructor with given minimum and maximum vaues and initial value 0.
    • Method Detail

      • adjustWidthToMaximumValue

        public void adjustWidthToMaximumValue()
      • stateChanged

        public void stateChanged​(javax.swing.event.ChangeEvent e)
        Is invoked when the spinner model changes
        Specified by:
        stateChanged in interface javax.swing.event.ChangeListener
        Parameters:
        e - the ChangeEvent
      • setValue

        protected void setValue​(int newValue,
                                boolean updateTextField,
                                boolean firePropertyChange)
        Sets the value attribute of the JSpinField object.
        Parameters:
        newValue - The new value
        updateTextField - true if text field should be updated
      • setValue

        public void setValue​(int newValue)
        Sets the value. This is a bound property.
        Parameters:
        newValue - the new value
        See Also:
        getValue()
      • getValue

        public int getValue()
        Returns the value.
        Returns:
        the value value
      • setMinimum

        public void setMinimum​(int newMinimum)
        Sets the minimum value.
        Parameters:
        newMinimum - the new minimum value
        See Also:
        getMinimum()
      • getMinimum

        public int getMinimum()
        Returns the minimum value.
        Returns:
        the minimum value
      • setMaximum

        public void setMaximum​(int newMaximum)
        Sets the maximum value and adjusts the preferred width.
        Parameters:
        newMaximum - the new maximum value
        See Also:
        getMaximum()
      • setHorizontalAlignment

        public void setHorizontalAlignment​(int alignment)
        Sets the horizontal alignment of the displayed value.
        Parameters:
        alignment - the horizontal alignment
      • getMaximum

        public int getMaximum()
        Returns the maximum value.
        Returns:
        the maximum value
      • setFont

        public void setFont​(java.awt.Font font)
        Sets the font property.
        Overrides:
        setFont in class javax.swing.JComponent
        Parameters:
        font - the new font
      • setForeground

        public void setForeground​(java.awt.Color fg)
        Sets the foreground
        Overrides:
        setForeground in class javax.swing.JComponent
        Parameters:
        fg - the foreground
      • caretUpdate

        public void caretUpdate​(javax.swing.event.CaretEvent e)
        After any user input, the value of the textfield is proofed. Depending on being an integer, the value is colored green or red.
        Specified by:
        caretUpdate in interface javax.swing.event.CaretListener
        Parameters:
        e - the caret event
      • actionPerformed

        public void actionPerformed​(java.awt.event.ActionEvent e)
        After any user input, the value of the textfield is proofed. Depending on being an integer, the value is colored green or red. If the textfield is green, the enter key is accepted and the new value is set.
        Specified by:
        actionPerformed in interface java.awt.event.ActionListener
        Parameters:
        e - Description of the Parameter
      • setEnabled

        public void setEnabled​(boolean enabled)
        Enable or disable the JSpinField.
        Overrides:
        setEnabled in class javax.swing.JComponent
        Parameters:
        enabled - The new enabled value
      • getSpinner

        public java.awt.Component getSpinner()
        Returns the year chooser's spinner (which allow the focus to be set to it).
        Returns:
        Component the spinner or null, if the month chooser has no spinner
      • main

        public static void main​(java.lang.String[] s)
        Creates a JFrame with a JSpinField inside and can be used for testing.
        Parameters:
        s - The command line arguments
      • focusGained

        public void focusGained​(java.awt.event.FocusEvent e)
        Specified by:
        focusGained in interface java.awt.event.FocusListener
      • focusLost

        public void focusLost​(java.awt.event.FocusEvent e)
        The value of the text field is checked against a valid (green) value. If valid, the value is set and a property change is fired.
        Specified by:
        focusLost in interface java.awt.event.FocusListener