Package com.ribs.plus

Class 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
    • Nested Class Summary

      • 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
      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
      • 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
      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
      • Methods inherited from class java.lang.Object

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

      • RJThumbWheel

        public RJThumbWheel()
        Creates a new thumbwheel.
      • RJThumbWheel

        public RJThumbWheel​(byte aType,
                            float vmin,
                            float vmax,
                            float current)
        Creates a new thumbwheel.
    • 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 class javax.swing.JComponent
      • processMouseMotionEvent

        protected void processMouseMotionEvent​(java.awt.event.MouseEvent e)
        Forwards mouse motion events to above method.
        Overrides:
        processMouseMotionEvent in class javax.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 class javax.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 class javax.swing.JComponent
      • getMinimumSize

        public java.awt.Dimension getMinimumSize()
        Overrides component method to indicate that min size is current size.
        Overrides:
        getMinimumSize in class javax.swing.JComponent
      • getMaximumSize

        public java.awt.Dimension getMaximumSize()
        Overrides component method to indicate that max size is current size.
        Overrides:
        getMaximumSize in class javax.swing.JComponent
      • setBounds

        public void setBounds​(int x,
                              int y,
                              int width,
                              int height)
        Overrides component method to set orientation.
        Overrides:
        setBounds in class java.awt.Component
      • setForeground

        public void setForeground​(java.awt.Color aColor)
        Overrides component method to recache image.
        Overrides:
        setForeground in class javax.swing.JComponent
      • setBackground

        public void setBackground​(java.awt.Color aColor)
        Overrides component method to recache image.
        Overrides:
        setBackground in class javax.swing.JComponent