Class NumberTextField
- All Implemented Interfaces:
ImageObserver,MenuContainer,Serializable
NumberTextField lets users increase values according to a provided formula of the form value = value * M + A, and similarly decrease values as value = (value - A) / M. You specify the values of M and A and the initial default value. This gives you some control on how values should change: linearly or geometrically.
You can exercise further control by subclassing the class and overriding the newValue(val) method, which filters all newly user-set values and "corrects" them. Programmatically set values (by calling setValue(...)) are not filtered through newValue by default. If you need to filter, you should do setValue(newValue(val));
NumberTextFields can also be provided with an optional label.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected doublestatic final ImageIconstatic final ImageIconstatic final ImageIconstatic final ImageIconstatic final ImageIconstatic final ImageIconFields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
ConstructorsConstructorDescriptionNumberTextField(double initialValue) Creates a NumberTextField which does not display the belly button or arrows.NumberTextField(double initialValue, boolean doubleEachTime) Creates a NumberTextField which (ifdoubleEachTime) doubles or halves the current value, or (if notdoubleEachTime) increases or decreases by 1 each time.NumberTextField(double initialValue, double multiply, double add) Creates a NumberTextField according to the provided parameters.NumberTextField(String label, double initialValue) Creates a NumberTextField which does not display the belly button or arrows.NumberTextField(String label, double initialValue, boolean doubleEachTime) Creates a NumberTextField with a provided label.NumberTextField(String label, double initialValue, double multiply, double add) Creates a NumberTextField with a provided label. -
Method Summary
Modifier and TypeMethodDescriptiongetField()doublegetText()doublegetValue()Returns the most recently set value.doublenewValue(double newValue) Override this to be informed when a new value has been set.voidvoidsetEnabled(boolean b) voidsetInitialValue(double initialValue) voidOnly call this to access the value field directlyvoidsetToolTipText(String text) voidsetValue(double val) Sets the value without filtering first.voidsubmit()voidupdate()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, getUI, getUIClassID, 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, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUIMethods 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, validateTreeMethods 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, getAccessibleContext, 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
-
Field Details
-
currentValue
protected double currentValue -
I_DOWN
-
I_DOWN_PRESSED
-
I_BELLY
-
I_BELLY_PRESSED
-
I_UP
-
I_UP_PRESSED
-
-
Constructor Details
-
NumberTextField
public NumberTextField(double initialValue) Creates a NumberTextField which does not display the belly button or arrows. -
NumberTextField
Creates a NumberTextField which does not display the belly button or arrows. -
NumberTextField
public NumberTextField(double initialValue, boolean doubleEachTime) Creates a NumberTextField which (ifdoubleEachTime) doubles or halves the current value, or (if notdoubleEachTime) increases or decreases by 1 each time. -
NumberTextField
public NumberTextField(double initialValue, double multiply, double add) Creates a NumberTextField according to the provided parameters. initialValue specifies the initial number value. multiply and add work as follows: If the right arrow is pressed, then the current value is changed to newValue(value * multiply + add); similarly, if the left arrow is pressed, then the current value is changed to newValue((value - add) / multiply); if the belly button is pressed, then the current value is changed to newValue(initialValue); Common settings include:
initialValue = 1, multiply = 2, add = 0 (start at 1, double each time)
initialValue = 0, multiply = 1, add = 1 (start at 0, add 1 each time)If multiply is 0, then no arrows are shown at all.
-
NumberTextField
Creates a NumberTextField with a provided label. If the label is null or empty, no label is created. Creates a NumberTextField which (ifdoubleEachTime) doubles or halves the current value, or (if notdoubleEachTime) increases or decreases by 1 each time. -
NumberTextField
Creates a NumberTextField with a provided label. If the label is null or empty, no label is created. initialValue specifies the initial number value. multiply and add work as follows: If the right arrow is pressed, then the current value is changed to newValue(value * multiply + add); similarly, if the left arrow is pressed, then the current value is changed to newValue((value - add) / multiply); if the belly button is pressed, then the current value is changed to newValue(initialValue); Common settings include:
initialValue = 1, multiply = 2, add = 0 (start at 1, double each time)
initialValue = 0, multiply = 1, add = 1 (start at 0, add 1 each time)If multiply is 0, then no arrows are shown at all.
-
-
Method Details
-
setEditedColor
-
getEditedColor
-
submit
public void submit() -
update
public void update() -
setValue
public void setValue(double val) Sets the value without filtering first. -
getValue
public double getValue()Returns the most recently set value. -
getField
-
setInitialValue
public void setInitialValue(double initialValue) -
getInitialValue
public double getInitialValue() -
newValue
public double newValue(double newValue) Override this to be informed when a new value has been set. The return value should be the value you want the display to show instead. -
setToolTipText
- Overrides:
setToolTipTextin classJComponent
-
setEnabled
public void setEnabled(boolean b) - Overrides:
setEnabledin classJComponent
-
setText
Only call this to access the value field directly -
getText
-