jsky.util.gui
Class VRangeSlider

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by jsky.util.gui.VRangeSlider
All Implemented Interfaces:
java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener

public class VRangeSlider
extends javax.swing.JComponent
implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener

A slider widget that allows users to select a lower and upper bound.

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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  javax.swing.event.EventListenerList listenerList
          list of listeners for change events
protected  double maxLimit
          Maximum slider value.
protected  java.awt.Dimension maxSize
          Maximum widget size.
protected  double maxValue
          Percent through scale of max gripper.
protected  double minLimit
          Minimum slider value.
protected  java.awt.Dimension minSize
          Minimum widget size.
protected  double minValue
          Percent through scale of min gripper.
protected  java.awt.Dimension prefSize
          Preferred widget size.
 
Fields inherited from class javax.swing.JComponent
accessibleContext, 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
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
VRangeSlider(java.lang.String label, double min, double max)
          Constructs a VRangeSlider with the specified range of values.
 
Method Summary
 void addChangeListener(javax.swing.event.ChangeListener l)
          register to receive change events from this object whenever the min or max values are changed.
protected  void fireChange()
          Notify any listeners of a change in the image or cut levels.
 java.awt.Dimension getMaximumSize()
          Returns maximum size of range slider.
 double getMaxValue()
          Percent through scale of max gripper.
 java.awt.Dimension getMinimumSize()
          Returns minimum size of range slider.
 double[] getMinMaxValues()
          Gets minimum and maximum slider values.
 double getMinValue()
          Percent through scale of min gripper.
 java.awt.Dimension getPreferredSize()
          Returns preferred size of range slider.
static void main(java.lang.String[] argv)
          Main method for testing purposes.
 void mouseClicked(java.awt.event.MouseEvent e)
          Not used.
 void mouseDragged(java.awt.event.MouseEvent e)
          MouseMotionListener method for moving slider.
 void mouseEntered(java.awt.event.MouseEvent e)
          Not used.
 void mouseExited(java.awt.event.MouseEvent e)
          Not used.
 void mouseMoved(java.awt.event.MouseEvent e)
          Not used.
 void mousePressed(java.awt.event.MouseEvent e)
          MouseListener method for moving slider.
 void mouseReleased(java.awt.event.MouseEvent e)
          MouseListener method for moving slider.
 void paintComponent(java.awt.Graphics g)
          Draws the slider from scratch.
 void removeChangeListener(javax.swing.event.ChangeListener l)
          Stop receiving change events from this object.
protected  void resetValues(double min, double max)
          Resets the minimum and maximum values.
 void setBounds(double min, double max)
          Sets the slider's lo and hi bounds.
 void setBounds(int x, int y, int w, int h)
          Redraws the slider if the widget width changes.
 void setMaximumSize(java.awt.Dimension dim)
          Sets preferred size of range slider.
 void setMinimumSize(java.awt.Dimension dim)
          Sets minimum size of range slider.
 void setName(java.lang.String name)
          Sets the slider's name.
 void setPreferredSize(java.awt.Dimension dim)
          Sets preferred size of range slider.
 void setValues(double lo, double hi)
          Sets the slider's lo and hi values.
 void valuesUpdated()
          Called whenever the min or max value is updated.
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, 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, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, 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, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setNextFocusableComponent, setOpaque, 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, transferFocusBackward, 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, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, resize, resize, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

minValue

protected double minValue
Percent through scale of min gripper.


maxValue

protected double maxValue
Percent through scale of max gripper.


minLimit

protected double minLimit
Minimum slider value.


maxLimit

protected double maxLimit
Maximum slider value.


minSize

protected java.awt.Dimension minSize
Minimum widget size.


prefSize

protected java.awt.Dimension prefSize
Preferred widget size.


maxSize

protected java.awt.Dimension maxSize
Maximum widget size.


listenerList

protected javax.swing.event.EventListenerList listenerList
list of listeners for change events

Constructor Detail

VRangeSlider

public VRangeSlider(java.lang.String label,
                    double min,
                    double max)
Constructs a VRangeSlider with the specified range of values.

Method Detail

getMinValue

public double getMinValue()
Percent through scale of min gripper.


getMaxValue

public double getMaxValue()
Percent through scale of max gripper.


getMinMaxValues

public double[] getMinMaxValues()
Gets minimum and maximum slider values.


resetValues

protected void resetValues(double min,
                           double max)
Resets the minimum and maximum values.


setName

public void setName(java.lang.String name)
Sets the slider's name.

Overrides:
setName in class java.awt.Component

setBounds

public void setBounds(double min,
                      double max)
Sets the slider's lo and hi bounds.


setValues

public void setValues(double lo,
                      double hi)
Sets the slider's lo and hi values.


setBounds

public void setBounds(int x,
                      int y,
                      int w,
                      int h)
Redraws the slider if the widget width changes.

Overrides:
setBounds in class java.awt.Component

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
MouseListener method for moving slider.

Specified by:
mousePressed in interface java.awt.event.MouseListener

addChangeListener

public void addChangeListener(javax.swing.event.ChangeListener l)
register to receive change events from this object whenever the min or max values are changed.


removeChangeListener

public void removeChangeListener(javax.swing.event.ChangeListener l)
Stop receiving change events from this object.


fireChange

protected void fireChange()
Notify any listeners of a change in the image or cut levels.


mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
MouseListener method for moving slider.

Specified by:
mouseReleased in interface java.awt.event.MouseListener

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
Not used.

Specified by:
mouseClicked in interface java.awt.event.MouseListener

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
Not used.

Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
Not used.

Specified by:
mouseExited in interface java.awt.event.MouseListener

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent e)
MouseMotionListener method for moving slider.

Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent e)
Not used.

Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener

getMinimumSize

public java.awt.Dimension getMinimumSize()
Returns minimum size of range slider.

Overrides:
getMinimumSize in class javax.swing.JComponent

setMinimumSize

public void setMinimumSize(java.awt.Dimension dim)
Sets minimum size of range slider.

Overrides:
setMinimumSize in class javax.swing.JComponent

getPreferredSize

public java.awt.Dimension getPreferredSize()
Returns preferred size of range slider.

Overrides:
getPreferredSize in class javax.swing.JComponent

setPreferredSize

public void setPreferredSize(java.awt.Dimension dim)
Sets preferred size of range slider.

Overrides:
setPreferredSize in class javax.swing.JComponent

getMaximumSize

public java.awt.Dimension getMaximumSize()
Returns maximum size of range slider.

Overrides:
getMaximumSize in class javax.swing.JComponent

setMaximumSize

public void setMaximumSize(java.awt.Dimension dim)
Sets preferred size of range slider.

Overrides:
setMaximumSize in class javax.swing.JComponent

valuesUpdated

public void valuesUpdated()
Called whenever the min or max value is updated. This method is meant to be overridden by extension classes.


paintComponent

public void paintComponent(java.awt.Graphics g)
Draws the slider from scratch.

Overrides:
paintComponent in class javax.swing.JComponent

main

public static void main(java.lang.String[] argv)
Main method for testing purposes.