Class ScrollPaneSelector
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- org.pushingpixels.radiance.theming.internal.widget.scroll.ScrollPaneSelector
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
public class ScrollPaneSelector extends javax.swing.JComponent
ScrollPaneSelector is a little utility class that provides a means to quickly scroll both vertically and horizontally on a single mouse click, by dragging a selection rectangle over a "thumbnail" of the scrollPane's viewport view.Once the selector is installed on a given JScrollPane instance, a little button appears as soon as at least one of its scroll bars is made visible.
Contributed by the original author under BSD license. Also appears in the JDNC Incubator.
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String
COMPONENT_ORIENTATION
private java.beans.PropertyChangeListener
propertyChangeListener
private javax.swing.JButton
theButton
private javax.swing.JComponent
theComponent
private java.awt.LayoutManager
theFormerLayoutManager
private java.awt.image.BufferedImage
theImage
private javax.swing.JPopupMenu
thePopupMenu
private java.awt.Point
thePrevPoint
private java.awt.Rectangle
theRectangle
private double
theScale
private javax.swing.JScrollPane
theScrollPane
private java.awt.Point
theStartPoint
private java.awt.Rectangle
theStartRectangle
private java.awt.event.ContainerAdapter
theViewPortViewListener
private boolean
toRestoreOriginal
-
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 ScrollPaneSelector()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
display(java.awt.Point aPointOnScreen)
java.awt.Dimension
getPreferredSize()
(package private) void
installOnScrollPane(javax.swing.JScrollPane aScrollPane)
protected void
paintComponent(java.awt.Graphics g)
private void
scroll(int aDeltaX, int aDeltaY, boolean toAnimate)
private void
syncRectangle()
(package private) void
uninstallFromScrollPane()
-
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, getMaximumSize, getMinimumSize, 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, 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, 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, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
COMPONENT_ORIENTATION
private static final java.lang.String COMPONENT_ORIENTATION
- See Also:
- Constant Field Values
-
theFormerLayoutManager
private java.awt.LayoutManager theFormerLayoutManager
-
theScrollPane
private javax.swing.JScrollPane theScrollPane
-
theComponent
private javax.swing.JComponent theComponent
-
thePopupMenu
private javax.swing.JPopupMenu thePopupMenu
-
toRestoreOriginal
private boolean toRestoreOriginal
-
theButton
private javax.swing.JButton theButton
-
theImage
private java.awt.image.BufferedImage theImage
-
theStartRectangle
private java.awt.Rectangle theStartRectangle
-
theRectangle
private java.awt.Rectangle theRectangle
-
theStartPoint
private java.awt.Point theStartPoint
-
thePrevPoint
private java.awt.Point thePrevPoint
-
theScale
private double theScale
-
propertyChangeListener
private java.beans.PropertyChangeListener propertyChangeListener
-
theViewPortViewListener
private java.awt.event.ContainerAdapter theViewPortViewListener
-
-
Method Detail
-
getPreferredSize
public java.awt.Dimension getPreferredSize()
- Overrides:
getPreferredSize
in classjavax.swing.JComponent
-
paintComponent
protected void paintComponent(java.awt.Graphics g)
- Overrides:
paintComponent
in classjavax.swing.JComponent
-
installOnScrollPane
void installOnScrollPane(javax.swing.JScrollPane aScrollPane)
-
uninstallFromScrollPane
void uninstallFromScrollPane()
-
display
private void display(java.awt.Point aPointOnScreen)
-
syncRectangle
private void syncRectangle()
-
scroll
private void scroll(int aDeltaX, int aDeltaY, boolean toAnimate)
-
-