Package com.inductiveautomation.rm.swing
Class RJThumbWheel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- com.inductiveautomation.rm.swing.RJThumbWheel
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
public class RJThumbWheel extends javax.swing.JComponent
This class has the behavior of a slider, without boundaries (so you can set values beyond the visible min and max). Furthermore, it has a 3D thumbwheel look, that is particularly nice for radial values. It also has an optional linear look, which is good for unbounded linear values.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static byte
ABSOLUTE_BOUNDED
static byte
ABSOLUTE_WRAPPED
static byte
TYPE_LINEAR
static byte
TYPE_RADIAL
-
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
-
-
Constructor Summary
Constructors Constructor Description RJThumbWheel()
Creates a new thumbwheel.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addChangeListener(javax.swing.event.ChangeListener l)
Adds a change listener.float
getAbsoluteMax()
Returns the largest value permitted by the thumbwheel (even when outside visible range).float
getAbsoluteMin()
Returns the smallest value permitted by the thumbwheel (even when outside visible range).byte
getAbsoluteMode()
Returns the thumbhweel absolute mode (ABSOLUTE_BOUNDED or ABSOLUTE_WRAPPED).int
getOrientation()
Returns the orientation (SwingConstants.VERTICAL or SwingConstants.HORIZONTAL).float
getRound()
Returns the value that thumbwheel values are rounded to.byte
getType()
Returns the type (radial or linear).double
getValue()
Returns the value.double
getValueAtPoint(java.awt.Point aPoint)
This method gives the value that corresponds to a point with respect to the given frame and the visible range.boolean
getValueIsAdjusting()
Returns whether the thumbweel is in a state of rapid interactive use (from mouse loop).float
getVisibleMax()
Returns the largest value in the visible range (ie, on the right side) of the thumbhweel.float
getVisibleMin()
Returns the smallest value in the visible range (ie, on the left side) of the thumbhweel.float
getVisibleRange()
Returns the extent of the thumbwheel's visible range.boolean
isBounded()
Returns whether thumbwheel is absolute bounded.boolean
isHorizontal()
Returns whether thumbwheel is horizontal.boolean
isLinear()
Returns whether thumbwheel is linear.boolean
isRadial()
Returns whether thumbwheel is radial.boolean
isVertical()
Returns whether thumbwheel is vertical.boolean
isWrapped()
Returns whether thumbwheel does absolute wrapping.protected void
mouseDragged(java.awt.event.MouseEvent anEvent)
Mouse Pressed.protected void
mousePressed(java.awt.event.MouseEvent anEvent)
Mouse Pressed.void
mouseReleased(java.awt.event.MouseEvent anEvent)
Mouse Released.void
paintComponent(java.awt.Graphics g)
Paints the component.protected void
processMouseEvent(java.awt.event.MouseEvent e)
Forwards mouse events to mouse methods.protected void
processMouseMotionEvent(java.awt.event.MouseEvent e)
Forwards mouse events to mouse methods.void
removeChangeListener(javax.swing.event.ChangeListener l)
Remove a change listener.void
setAbsoluteMax(float aValue)
Sets the largest value permitted by the thumbwheel (even when outside visible range).void
setAbsoluteMin(float aValue)
Sets the smallest value permitted by the thumbwheel (even when outside visible range).void
setAbsoluteMode(byte aValue)
Sets the thumbhweel absolute mode (ABSOLUTE_BOUNDED or ABSOLUTE_WRAPPED).void
setBackground(java.awt.Color aColor)
Overrides to reset image.void
setBounds(int x, int y, int width, int height)
Override to reset image and set orientation.void
setForeground(java.awt.Color aColor)
Overrides to reset image.void
setOrientation(int aValue)
Returns the orientation (SwingConstants.VERTICAL or SwingConstants.HORIZONTAL).void
setRound(float aValue)
Sets the value that thumbwheel values are rounded to.void
setType(byte aType)
Sets the type (radial or linear).void
setValue(double aValue)
Sets the value.void
setVisibleMax(float aValue)
Sets the largest value in the visible range (ie, on the right side) of the thumbhweel.void
setVisibleMin(float aValue)
Sets the smallest value in the visible range (ie, on the left side) of the thumbhweel.-
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, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
-
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, 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, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
TYPE_RADIAL
public static final byte TYPE_RADIAL
- See Also:
- Constant Field Values
-
TYPE_LINEAR
public static final byte TYPE_LINEAR
- See Also:
- Constant Field Values
-
ABSOLUTE_BOUNDED
public static final byte ABSOLUTE_BOUNDED
- See Also:
- Constant Field Values
-
ABSOLUTE_WRAPPED
public static final byte ABSOLUTE_WRAPPED
- See Also:
- Constant Field Values
-
-
Method Detail
-
getType
public byte getType()
Returns the type (radial or linear).
-
setType
public void setType(byte aType)
Sets the type (radial or linear).
-
getValue
public double getValue()
Returns the value.
-
setValue
public void setValue(double aValue)
Sets the value.
-
getRound
public float getRound()
Returns the value that thumbwheel values are rounded to.
-
setRound
public void setRound(float aValue)
Sets the value that thumbwheel values are rounded to.
-
getVisibleMin
public float getVisibleMin()
Returns the smallest value in the visible range (ie, on the left side) of the thumbhweel.
-
setVisibleMin
public void setVisibleMin(float aValue)
Sets the smallest value in the visible range (ie, on the left side) of the thumbhweel.
-
getVisibleMax
public float getVisibleMax()
Returns the largest value in the visible range (ie, on the right side) of the thumbhweel.
-
setVisibleMax
public void setVisibleMax(float aValue)
Sets the largest value in the visible range (ie, on the right side) of the thumbhweel.
-
getAbsoluteMin
public float getAbsoluteMin()
Returns the smallest value permitted by the thumbwheel (even when outside visible range).
-
setAbsoluteMin
public void setAbsoluteMin(float aValue)
Sets the smallest value permitted by the thumbwheel (even when outside visible range).
-
getAbsoluteMax
public float getAbsoluteMax()
Returns the largest value permitted by the thumbwheel (even when outside visible range).
-
setAbsoluteMax
public void setAbsoluteMax(float aValue)
Sets the largest value permitted by the thumbwheel (even when outside visible range).
-
getAbsoluteMode
public byte getAbsoluteMode()
Returns the thumbhweel absolute mode (ABSOLUTE_BOUNDED or ABSOLUTE_WRAPPED).
-
setAbsoluteMode
public void setAbsoluteMode(byte aValue)
Sets the thumbhweel absolute mode (ABSOLUTE_BOUNDED or ABSOLUTE_WRAPPED).
-
getOrientation
public int getOrientation()
Returns the orientation (SwingConstants.VERTICAL or SwingConstants.HORIZONTAL).
-
setOrientation
public void setOrientation(int aValue)
Returns the orientation (SwingConstants.VERTICAL or SwingConstants.HORIZONTAL).
-
getValueIsAdjusting
public boolean getValueIsAdjusting()
Returns whether the thumbweel is in a state of rapid interactive use (from mouse loop).
-
processMouseEvent
protected void processMouseEvent(java.awt.event.MouseEvent e)
Forwards mouse events to mouse methods.- Overrides:
processMouseEvent
in classjavax.swing.JComponent
-
processMouseMotionEvent
protected void processMouseMotionEvent(java.awt.event.MouseEvent e)
Forwards mouse events to mouse methods.- Overrides:
processMouseMotionEvent
in classjavax.swing.JComponent
-
mousePressed
protected void mousePressed(java.awt.event.MouseEvent anEvent)
Mouse Pressed.
-
mouseDragged
protected void mouseDragged(java.awt.event.MouseEvent anEvent)
Mouse Pressed.
-
mouseReleased
public void mouseReleased(java.awt.event.MouseEvent anEvent)
Mouse Released.
-
getValueAtPoint
public double getValueAtPoint(java.awt.Point aPoint)
This method gives the value that corresponds to a point with respect to the given frame and the visible range. When in radial mode, the point on the thumbwheel is approximated with a power series for arcCos to get legal values for points outside of the frame.
-
isVertical
public boolean isVertical()
Returns whether thumbwheel is vertical.
-
isHorizontal
public boolean isHorizontal()
Returns whether thumbwheel is horizontal.
-
isRadial
public boolean isRadial()
Returns whether thumbwheel is radial.
-
isLinear
public boolean isLinear()
Returns whether thumbwheel is linear.
-
isBounded
public boolean isBounded()
Returns whether thumbwheel is absolute bounded.
-
isWrapped
public boolean isWrapped()
Returns whether thumbwheel does absolute wrapping.
-
getVisibleRange
public float getVisibleRange()
Returns the extent of the thumbwheel's visible range.
-
paintComponent
public void paintComponent(java.awt.Graphics g)
Paints the component.- Overrides:
paintComponent
in classjavax.swing.JComponent
-
addChangeListener
public void addChangeListener(javax.swing.event.ChangeListener l)
Adds a change listener.
-
removeChangeListener
public void removeChangeListener(javax.swing.event.ChangeListener l)
Remove a change listener.
-
setBounds
public void setBounds(int x, int y, int width, int height)
Override to reset image and set orientation.- Overrides:
setBounds
in classjava.awt.Component
-
setForeground
public void setForeground(java.awt.Color aColor)
Overrides to reset image.- Overrides:
setForeground
in classjavax.swing.JComponent
-
setBackground
public void setBackground(java.awt.Color aColor)
Overrides to reset image.- Overrides:
setBackground
in classjavax.swing.JComponent
-
-