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:
ImageObserver
,MenuContainer
,Serializable
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 <info@reportmill.com>.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final byte
static final byte
static final byte
static final byte
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
ConstructorsConstructorDescriptionCreates a new thumbwheel.RJThumbWheel
(byte aType, float vmin, float vmax, float current) Creates a new thumbwheel. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
Handles mouse events.void
Adds a change listener.float
Returns the largest value permitted by the thumbwheel (even when outside visible range).float
Returns the smallest value permitted by the thumbwheel (even when outside visible range).byte
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.Overrides component method to indicate that max size is current size.Overrides component method to indicate that min size is current size.int
Returns the origientation (SwingConstants.VERTICAL or SwingConstants.HORIZONTAL).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
Returns whether the thumbweel is in a state of rapid interactive use (from mouse loop).float
Returns the largest value in the visible range (ie, on the right side) of the thumbhweel.float
Returns the smallest value in the visible range (ie, on the left side) of the thumbhweel.float
Returns the extent of the thumbwheel's visible range.boolean
Returns whether thumbwheel is absolute bounded.boolean
Returns whether thumbwheel is horizontal.boolean
isLinear()
Returns whether thumbwheel is linear.boolean
isRadial()
Returns whether thumbwheel is radial.boolean
Returns whether thumbwheel is vertical.boolean
Returns whether thumbwheel does absolute wrapping.protected void
Notify change listeners.void
Paints the component.protected void
Forwards mouse events to above method.protected void
Forwards mouse motion events to above method.void
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
(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
(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 Details
-
TYPE_RADIAL
public static final byte TYPE_RADIAL- See Also:
-
TYPE_LINEAR
public static final byte TYPE_LINEAR- See Also:
-
ABSOLUTE_BOUNDED
public static final byte ABSOLUTE_BOUNDED- See Also:
-
ABSOLUTE_WRAPPED
public static final byte ABSOLUTE_WRAPPED- See Also:
-
-
Constructor Details
-
RJThumbWheel
public RJThumbWheel()Creates a new thumbwheel. -
RJThumbWheel
public RJThumbWheel(byte aType, float vmin, float vmax, float current) Creates a new thumbwheel.
-
-
Method Details
-
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
Handles mouse events. -
processMouseEvent
Forwards mouse events to above method.- Overrides:
processMouseEvent
in classJComponent
-
processMouseMotionEvent
Forwards mouse motion events to above method.- Overrides:
processMouseMotionEvent
in classJComponent
-
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
Paints the component.- Overrides:
paintComponent
in classJComponent
-
addChangeListener
Adds a change listener. -
removeChangeListener
Remove a change listener. -
notifyChangeListeners
protected void notifyChangeListeners()Notify change listeners. -
getPreferredSize
Overrides component method to indicate that preferred size is current size.- Overrides:
getPreferredSize
in classJComponent
-
getMinimumSize
Overrides component method to indicate that min size is current size.- Overrides:
getMinimumSize
in classJComponent
-
getMaximumSize
Overrides component method to indicate that max size is current size.- Overrides:
getMaximumSize
in classJComponent
-
setBounds
public void setBounds(int x, int y, int width, int height) Overrides component method to set orientation. -
setForeground
Overrides component method to recache image.- Overrides:
setForeground
in classJComponent
-
setBackground
Overrides component method to recache image.- Overrides:
setBackground
in classJComponent
-