Package com.ribs.plus
Class RJThumbWheel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- com.ribs.plus.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.Copyright (c) 2004 ReportMill Software, Inc. All Rights Reserved. Contact ReportMill
. - 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.RJThumbWheel(byte aType, float vmin, float vmax, float current)
Creates a new thumbwheel.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
_processMouseEvent(java.awt.event.MouseEvent e)
Handles mouse events.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).float
getFloatValueAtPoint(float px, float py)
This method gives the value that corresponds to a point with respect to the given frame and the visible range.java.awt.Dimension
getMaximumSize()
Overrides component method to indicate that max size is current size.java.awt.Dimension
getMinimumSize()
Overrides component method to indicate that min size is current size.int
getOrientation()
Returns the origientation (SwingConstants.VERTICAL or SwingConstants.HORIZONTAL).java.awt.Dimension
getPreferredSize()
Overrides component method to indicate that preferred size is current size.float
getRound()
Returns the value that thumbwheel values are rounded to.byte
getType()
Returns the type (radial or linear).float
getValue()
Returns the value.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
notifyChangeListeners()
Notify change listeners.void
paintComponent(java.awt.Graphics g)
Paints the component.protected void
processMouseEvent(java.awt.event.MouseEvent e)
Forwards mouse events to above method.protected void
processMouseMotionEvent(java.awt.event.MouseEvent e)
Forwards mouse motion events to above method.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 component method to recache image.void
setBounds(int x, int y, int width, int height)
Overrides component method to set orientation.void
setForeground(java.awt.Color aColor)
Overrides component method to recache image.void
setOrientation(int aValue)
Returns the origientation (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(float aValue)
Sets the value.void
setValue(float aValue, boolean notifyListeners)
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, getNextFocusableComponent, getPopupLocation, 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 float getValue()
Returns the value.
-
setValue
public void setValue(float aValue)
Sets the value.
-
setValue
public void setValue(float aValue, boolean notifyListeners)
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 origientation (SwingConstants.VERTICAL or SwingConstants.HORIZONTAL).
-
setOrientation
public void setOrientation(int aValue)
Returns the origientation (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)
Handles mouse events.
-
processMouseEvent
protected void processMouseEvent(java.awt.event.MouseEvent e)
Forwards mouse events to above method.- Overrides:
processMouseEvent
in classjavax.swing.JComponent
-
processMouseMotionEvent
protected void processMouseMotionEvent(java.awt.event.MouseEvent e)
Forwards mouse motion events to above method.- Overrides:
processMouseMotionEvent
in classjavax.swing.JComponent
-
getFloatValueAtPoint
public float getFloatValueAtPoint(float px, float py)
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.
-
notifyChangeListeners
protected void notifyChangeListeners()
Notify change listeners.
-
getPreferredSize
public java.awt.Dimension getPreferredSize()
Overrides component method to indicate that preferred size is current size.- Overrides:
getPreferredSize
in classjavax.swing.JComponent
-
getMinimumSize
public java.awt.Dimension getMinimumSize()
Overrides component method to indicate that min size is current size.- Overrides:
getMinimumSize
in classjavax.swing.JComponent
-
getMaximumSize
public java.awt.Dimension getMaximumSize()
Overrides component method to indicate that max size is current size.- Overrides:
getMaximumSize
in classjavax.swing.JComponent
-
setBounds
public void setBounds(int x, int y, int width, int height)
Overrides component method to set orientation.- Overrides:
setBounds
in classjava.awt.Component
-
setForeground
public void setForeground(java.awt.Color aColor)
Overrides component method to recache image.- Overrides:
setForeground
in classjavax.swing.JComponent
-
setBackground
public void setBackground(java.awt.Color aColor)
Overrides component method to recache image.- Overrides:
setBackground
in classjavax.swing.JComponent
-
-