com.explodingpixels.widgets.plaf
Class SkinnableScrollBarUI

java.lang.Object
  extended by javax.swing.plaf.ComponentUI
      extended by javax.swing.plaf.ScrollBarUI
          extended by javax.swing.plaf.basic.BasicScrollBarUI
              extended by com.explodingpixels.widgets.plaf.SkinnableScrollBarUI
All Implemented Interfaces:
LayoutManager, SwingConstants
Direct Known Subclasses:
IAppScrollBarUI

public class SkinnableScrollBarUI
extends BasicScrollBarUI

An implementation of ScrollBarUI that supports dynamic skinning. painting is delegated to a ScrollBarSkin.


Nested Class Summary
protected  class SkinnableScrollBarUI.CustomArrowButtonListener
           
static interface SkinnableScrollBarUI.ScrollBarSkinProvider
           
 
Nested classes/interfaces inherited from class javax.swing.plaf.basic.BasicScrollBarUI
BasicScrollBarUI.ArrowButtonListener, BasicScrollBarUI.ModelListener, BasicScrollBarUI.PropertyChangeHandler, BasicScrollBarUI.ScrollListener, BasicScrollBarUI.TrackListener
 
Field Summary
 
Fields inherited from class javax.swing.plaf.basic.BasicScrollBarUI
buttonListener, decrButton, DECREASE_HIGHLIGHT, incrButton, INCREASE_HIGHLIGHT, isDragging, maximumThumbSize, minimumThumbSize, modelListener, NO_HIGHLIGHT, propertyChangeListener, scrollbar, scrollListener, scrollTimer, thumbColor, thumbDarkShadowColor, thumbHighlightColor, thumbLightShadowColor, thumbRect, trackColor, trackHighlight, trackHighlightColor, trackListener, trackRect
 
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
 
Constructor Summary
SkinnableScrollBarUI(SkinnableScrollBarUI.ScrollBarSkinProvider scrollBarSkinProvider)
          Creates a SkinnableScrollBarUI that query the given SkinnableScrollBarUI.ScrollBarSkinProvider in order to get the ScrollBarSkin during the installation of this UI delegate.
 
Method Summary
protected  BasicScrollBarUI.TrackListener createTrackListener()
           
protected  Dimension getMinimumThumbSize()
           
 Dimension getPreferredSize(JComponent c)
           
protected  Rectangle getThumbBounds()
           
protected  Rectangle getTrackBounds()
           
protected  void installComponents()
           
protected  void installListeners()
           
 void installUI(JComponent c)
           
 void layoutContainer(Container scrollbarContainer)
           
protected  void paintDecreaseHighlight(Graphics g)
           
protected  void paintIncreaseHighlight(Graphics g)
           
protected  void setThumbBounds(int x, int y, int width, int height)
           
 
Methods inherited from class javax.swing.plaf.basic.BasicScrollBarUI
addLayoutComponent, configureScrollBarColors, createArrowButtonListener, createDecreaseButton, createIncreaseButton, createModelListener, createPropertyChangeListener, createScrollListener, createUI, getMaximumSize, getMaximumThumbSize, getSupportsAbsolutePositioning, installDefaults, installKeyboardActions, isThumbRollover, layoutHScrollbar, layoutVScrollbar, minimumLayoutSize, paint, paintThumb, paintTrack, preferredLayoutSize, removeLayoutComponent, scrollByBlock, scrollByUnit, setThumbRollover, uninstallComponents, uninstallDefaults, uninstallKeyboardActions, uninstallListeners, uninstallUI
 
Methods inherited from class javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior, getMinimumSize, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SkinnableScrollBarUI

public SkinnableScrollBarUI(SkinnableScrollBarUI.ScrollBarSkinProvider scrollBarSkinProvider)
Creates a SkinnableScrollBarUI that query the given SkinnableScrollBarUI.ScrollBarSkinProvider in order to get the ScrollBarSkin during the installation of this UI delegate.

Parameters:
scrollBarSkinProvider - the provider of the ScrollBarSkin.
Method Detail

installUI

public void installUI(JComponent c)
Overrides:
installUI in class BasicScrollBarUI

installComponents

protected void installComponents()
Overrides:
installComponents in class BasicScrollBarUI

installListeners

protected void installListeners()
Overrides:
installListeners in class BasicScrollBarUI

layoutContainer

public void layoutContainer(Container scrollbarContainer)
Specified by:
layoutContainer in interface LayoutManager
Overrides:
layoutContainer in class BasicScrollBarUI

getMinimumThumbSize

protected Dimension getMinimumThumbSize()
Overrides:
getMinimumThumbSize in class BasicScrollBarUI

getPreferredSize

public Dimension getPreferredSize(JComponent c)
Overrides:
getPreferredSize in class BasicScrollBarUI

getThumbBounds

protected Rectangle getThumbBounds()
Overrides:
getThumbBounds in class BasicScrollBarUI

setThumbBounds

protected void setThumbBounds(int x,
                              int y,
                              int width,
                              int height)
Overrides:
setThumbBounds in class BasicScrollBarUI

getTrackBounds

protected Rectangle getTrackBounds()
Overrides:
getTrackBounds in class BasicScrollBarUI

paintIncreaseHighlight

protected void paintIncreaseHighlight(Graphics g)
Overrides:
paintIncreaseHighlight in class BasicScrollBarUI

paintDecreaseHighlight

protected void paintDecreaseHighlight(Graphics g)
Overrides:
paintDecreaseHighlight in class BasicScrollBarUI

createTrackListener

protected BasicScrollBarUI.TrackListener createTrackListener()
Overrides:
createTrackListener in class BasicScrollBarUI