codeblockutil
Class CTracklessScrollPane

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JLayeredPane
                  extended by codeblockutil.CScrollPane
                      extended by codeblockutil.CTracklessScrollPane
All Implemented Interfaces:
java.awt.event.KeyListener, java.awt.event.MouseWheelListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible

public class CTracklessScrollPane
extends CScrollPane
implements java.awt.event.KeyListener

The CScrollPane is a swing-compatible widget that allows clients of this CScrollPane to control the width of the thumb, the color of the thumb, and and the color of the track. Like all swing-compatible scroll panes, the CScrollPane wraps a viewport and must change the viewing space (also known as the visible rectangle) of the scroll pane when users attempts to scroll with the mouse, wheel, or key board.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class codeblockutil.CScrollPane
CScrollPane.ScrollPolicy
 
Nested classes/interfaces inherited from class javax.swing.JLayeredPane
javax.swing.JLayeredPane.AccessibleJLayeredPane
 
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 inherited from class javax.swing.JLayeredPane
DEFAULT_LAYER, DRAG_LAYER, FRAME_CONTENT_LAYER, LAYER_PROPERTY, MODAL_LAYER, PALETTE_LAYER, POPUP_LAYER
 
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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
CTracklessScrollPane(javax.swing.JComponent view)
          Constructs a custom CScrollPane with the view port set to "view", with both scroll bar policies set to "ALWAYS" (see javax.swing.JScrollPane for a description on the use of scroll bar policies).
CTracklessScrollPane(javax.swing.JComponent view, CScrollPane.ScrollPolicy verticalPolicy, CScrollPane.ScrollPolicy horizontalPolicy)
          Constructs a custom CScrollPane with the view port set to "view", with correponding vertical and horizontal bar policies (see javax.swing.JScrollPane for a description on the use of scroll bar policies).
CTracklessScrollPane(javax.swing.JComponent view, CScrollPane.ScrollPolicy verticalPolicy, CScrollPane.ScrollPolicy horizontalPolicy, int thumbWidth, java.awt.Color thumbColor, java.awt.Color trackColor)
          Constructs a custom CScrollPane with the view port set to "view", with correponding vertical and horizontal bar policies (see javax.swing.JScrollPane for a description on the use of scroll bar policies).
CTracklessScrollPane(javax.swing.JComponent view, int thumbWidth, java.awt.Color thumbColor, java.awt.Color trackColor)
          Constructs a custom CScrollPane with the view port set to "view", with both scroll bar policies set to "ALWAYS" (see javax.swing.JScrollPane for a description on the use of scroll bar policies).
 
Method Summary
 javax.swing.BoundedRangeModel getHorizontalModel()
           
 javax.swing.BoundedRangeModel getVerticalModel()
           
 void keyPressed(java.awt.event.KeyEvent e)
          KeyListeners: Should repaint the scrollbar everytime the user presses a key
 void keyReleased(java.awt.event.KeyEvent e)
          KeyListeners: Should repaint the scrollbar everytime the user presses a key
 void keyTyped(java.awt.event.KeyEvent e)
          KeyListeners: Should repaint the scrollbar everytime the user presses a key
static void main(java.lang.String[] args)
           
 void mouseWheelMoved(java.awt.event.MouseWheelEvent e)
          MouseWheelListener: Should move the viewport by same amount of wheel scroll
 void scrollRectToVisible(java.awt.Rectangle contentRect)
          Scrolls the view so that Rectangle within the view becomes visible.
 void setScrollingUnit(int x)
          Set the amount by which the mouse wheel scrolls
 void setThumbWidth(int thumbWidth)
           
 
Methods inherited from class javax.swing.JLayeredPane
addImpl, getAccessibleContext, getComponentCountInLayer, getComponentsInLayer, getComponentToLayer, getIndexOf, getLayer, getLayer, getLayeredPaneAbove, getObjectForLayer, getPosition, highestLayer, insertIndexForLayer, isOptimizedDrawingEnabled, lowestLayer, moveToBack, moveToFront, paint, paramString, putLayer, remove, removeAll, setLayer, setLayer, setPosition
 
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, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, 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, 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, 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, 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

CTracklessScrollPane

public CTracklessScrollPane(javax.swing.JComponent view)
Constructs a custom CScrollPane with the view port set to "view", with both scroll bar policies set to "ALWAYS" (see javax.swing.JScrollPane for a description on the use of scroll bar policies). Thumb will have girth of 10 and an interior color of black, hovering above a white background.

Parameters:
view -

CTracklessScrollPane

public CTracklessScrollPane(javax.swing.JComponent view,
                            CScrollPane.ScrollPolicy verticalPolicy,
                            CScrollPane.ScrollPolicy horizontalPolicy)
Constructs a custom CScrollPane with the view port set to "view", with correponding vertical and horizontal bar policies (see javax.swing.JScrollPane for a description on the use of scroll bar policies). Thumb will have girth of 10 and an interior color of black, hovering above a white background.

Parameters:
view -
verticalPolicy -
horizontalPolicy -

CTracklessScrollPane

public CTracklessScrollPane(javax.swing.JComponent view,
                            int thumbWidth,
                            java.awt.Color thumbColor,
                            java.awt.Color trackColor)
Constructs a custom CScrollPane with the view port set to "view", with both scroll bar policies set to "ALWAYS" (see javax.swing.JScrollPane for a description on the use of scroll bar policies). Thumb will have girth of equal to thumbWidth and an interior color equal to thumbColor.

Parameters:
view -

CTracklessScrollPane

public CTracklessScrollPane(javax.swing.JComponent view,
                            CScrollPane.ScrollPolicy verticalPolicy,
                            CScrollPane.ScrollPolicy horizontalPolicy,
                            int thumbWidth,
                            java.awt.Color thumbColor,
                            java.awt.Color trackColor)
Constructs a custom CScrollPane with the view port set to "view", with correponding vertical and horizontal bar policies (see javax.swing.JScrollPane for a description on the use of scroll bar policies). The thumb will have a girth equal to "thumbWidth" and an interior color of thumbColor. The background underneath the thumb will have a color equal to thumbBackground.

Parameters:
view - - the viewport
verticalPolicy - - the vertical scroll bar policy (always or never)
horizontalPolicy - - the horizontal scroll bar policy (always or never)
thumbWidth - - the width of the vertical scroll bar in pixels and the height of the horiztontal scroll bar in pixels
thumbColor - - the interior color of the thumb
trackColor - - the backgorund color under the thumb
Method Detail

getVerticalModel

public javax.swing.BoundedRangeModel getVerticalModel()
Specified by:
getVerticalModel in class CScrollPane

getHorizontalModel

public javax.swing.BoundedRangeModel getHorizontalModel()
Specified by:
getHorizontalModel in class CScrollPane

setThumbWidth

public void setThumbWidth(int thumbWidth)

scrollRectToVisible

public void scrollRectToVisible(java.awt.Rectangle contentRect)
Description copied from class: CScrollPane
Scrolls the view so that Rectangle within the view becomes visible. This attempts to validate the view before scrolling if the view is currently not valid - isValid returns false. To avoid excessive validation when the containment hierarchy is being created this will not validate if one of the ancestors does not have a peer, or there is no validate root ancestor, or one of the ancestors is not a Window or Applet. Note that this method will not scroll outside of the valid viewport; for example, if contentRect is larger than the viewport, scrolling will be confined to the viewport's bounds.

Specified by:
scrollRectToVisible in class CScrollPane

setScrollingUnit

public void setScrollingUnit(int x)
Set the amount by which the mouse wheel scrolls

Specified by:
setScrollingUnit in class CScrollPane

mouseWheelMoved

public void mouseWheelMoved(java.awt.event.MouseWheelEvent e)
Description copied from class: CScrollPane
MouseWheelListener: Should move the viewport by same amount of wheel scroll

Specified by:
mouseWheelMoved in interface java.awt.event.MouseWheelListener
Specified by:
mouseWheelMoved in class CScrollPane

keyPressed

public void keyPressed(java.awt.event.KeyEvent e)
KeyListeners: Should repaint the scrollbar everytime the user presses a key

Specified by:
keyPressed in interface java.awt.event.KeyListener

keyReleased

public void keyReleased(java.awt.event.KeyEvent e)
KeyListeners: Should repaint the scrollbar everytime the user presses a key

Specified by:
keyReleased in interface java.awt.event.KeyListener

keyTyped

public void keyTyped(java.awt.event.KeyEvent e)
KeyListeners: Should repaint the scrollbar everytime the user presses a key

Specified by:
keyTyped in interface java.awt.event.KeyListener

main

public static void main(java.lang.String[] args)