jsky.util.gui
Class RangeSlider

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JSlider
                  extended by jsky.util.gui.RangeSlider
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.SwingConstants

public class RangeSlider
extends javax.swing.JSlider

Extension of JSlider that maintains the standard Java "Metal" Look-and-feel, while providing some modified behavior. Supports a range of values, with thumbs to set the left and right edge of a range. Also the scale, ticks, and thumbs are condensed on top of each other to take up less space

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JSlider
javax.swing.JSlider.AccessibleJSlider
 
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
 
Fields inherited from class javax.swing.JSlider
changeEvent, changeListener, majorTickSpacing, minorTickSpacing, orientation, sliderModel, snapToTicks
 
Fields inherited from class javax.swing.JComponent
accessibleContext, 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
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
RangeSlider()
          Creates a horizontal slider with the range 0 to 100 and an intitial value of 50.
RangeSlider(javax.swing.BoundedRangeModel brm)
          Creates a horizontal slider using the specified BoundedRangeModel.
RangeSlider(javax.swing.BoundedRangeModel brm, boolean doExtent)
          Creates a horizontal slider using the specified BoundedRangeModel.
RangeSlider(int orientation)
          Creates a slider using the specified orientation with the range 0 to 100 and an intitial value of 50.
RangeSlider(int orient, javax.swing.BoundedRangeModel brm, boolean doExtent)
           
RangeSlider(int min, int max)
          Creates a horizontal slider using the specified min and max with an intitial value of 50.
RangeSlider(int min, int max, int value)
          Creates a horizontal slider using the specified min, max and value.
RangeSlider(int orientation, int min, int max, int value, int extent)
           
RangeSlider(int orientation, int min, int max, int value, int extent, boolean doExtent)
          Creates a slider with the specified orientation and the specified mimimum, maximum, and initial values.
 
Method Summary
 boolean extentContains(int x, int y)
           
 java.lang.String getUIClassID()
          Returns the name of the L&F class that renders this component.
static void main(java.lang.String[] args)
          Notification from the UIFactory that the L&F has changed.
 boolean thumbContains(int x, int y)
           
 void updateUI()
          Notification from the UIFactory that the L&F has changed.
 
Methods inherited from class javax.swing.JSlider
addChangeListener, createChangeListener, createStandardLabels, createStandardLabels, fireStateChanged, getAccessibleContext, getChangeListeners, getExtent, getInverted, getLabelTable, getMajorTickSpacing, getMaximum, getMinimum, getMinorTickSpacing, getModel, getOrientation, getPaintLabels, getPaintTicks, getPaintTrack, getSnapToTicks, getUI, getValue, getValueIsAdjusting, paramString, removeChangeListener, setExtent, setInverted, setLabelTable, setMajorTickSpacing, setMaximum, setMinimum, setMinorTickSpacing, setModel, setOrientation, setPaintLabels, setPaintTicks, setPaintTrack, setSnapToTicks, setUI, setValue, setValueIsAdjusting, updateLabelUIs
 
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, 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, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, 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, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
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, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, 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
 

Constructor Detail

RangeSlider

public RangeSlider()
Creates a horizontal slider with the range 0 to 100 and an intitial value of 50.


RangeSlider

public RangeSlider(int orientation)
Creates a slider using the specified orientation with the range 0 to 100 and an intitial value of 50.


RangeSlider

public RangeSlider(int min,
                   int max)
Creates a horizontal slider using the specified min and max with an intitial value of 50.


RangeSlider

public RangeSlider(int min,
                   int max,
                   int value)
Creates a horizontal slider using the specified min, max and value.


RangeSlider

public RangeSlider(int orientation,
                   int min,
                   int max,
                   int value,
                   int extent)

RangeSlider

public RangeSlider(int orientation,
                   int min,
                   int max,
                   int value,
                   int extent,
                   boolean doExtent)
Creates a slider with the specified orientation and the specified mimimum, maximum, and initial values.

Throws:
java.lang.IllegalArgumentException - if orientation is not one of VERTICAL, HORIZONTAL
See Also:
JSlider.setOrientation(int), JSlider.setMinimum(int), JSlider.setMaximum(int), JSlider.setValue(int)

RangeSlider

public RangeSlider(javax.swing.BoundedRangeModel brm)
Creates a horizontal slider using the specified BoundedRangeModel.


RangeSlider

public RangeSlider(javax.swing.BoundedRangeModel brm,
                   boolean doExtent)
Creates a horizontal slider using the specified BoundedRangeModel.


RangeSlider

public RangeSlider(int orient,
                   javax.swing.BoundedRangeModel brm,
                   boolean doExtent)
Method Detail

getUIClassID

public java.lang.String getUIClassID()
Returns the name of the L&F class that renders this component.

Overrides:
getUIClassID in class javax.swing.JSlider
Returns:
"SliderUI"
See Also:
JComponent.getUIClassID()

updateUI

public void updateUI()
Notification from the UIFactory that the L&F has changed. Called to replace the UI with the latest version from the default UIFactory.

Overrides:
updateUI in class javax.swing.JSlider
See Also:
JComponent.updateUI()

thumbContains

public boolean thumbContains(int x,
                             int y)

extentContains

public boolean extentContains(int x,
                              int y)

main

public static void main(java.lang.String[] args)
Notification from the UIFactory that the L&F has changed. Called to replace the UI with the latest version from the default UIFactory.

See Also:
public void updateUI() { updateLabelUIs(); setUI( new RangeSliderUI( showExtent)); }