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.JComponentScrollPaneSelector 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.StringCOMPONENT_ORIENTATIONprivate java.beans.PropertyChangeListenerpropertyChangeListenerprivate javax.swing.JButtontheButtonprivate javax.swing.JComponenttheComponentprivate java.awt.LayoutManagertheFormerLayoutManagerprivate java.awt.image.BufferedImagetheImageprivate javax.swing.JPopupMenuthePopupMenuprivate java.awt.PointthePrevPointprivate java.awt.RectangletheRectangleprivate doubletheScaleprivate javax.swing.JScrollPanetheScrollPaneprivate java.awt.PointtheStartPointprivate java.awt.RectangletheStartRectangleprivate java.awt.event.ContainerAdaptertheViewPortViewListenerprivate booleantoRestoreOriginal-
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 voiddisplay(java.awt.Point aPointOnScreen)java.awt.DimensiongetPreferredSize()(package private) voidinstallOnScrollPane(javax.swing.JScrollPane aScrollPane)protected voidpaintComponent(java.awt.Graphics g)private voidscroll(int aDeltaX, int aDeltaY, boolean toAnimate)private voidsyncRectangle()(package private) voiduninstallFromScrollPane()-
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:
getPreferredSizein classjavax.swing.JComponent
-
paintComponent
protected void paintComponent(java.awt.Graphics g)
- Overrides:
paintComponentin 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)
-
-