org.jvnet.substance
Class SubstanceScrollPaneUI

java.lang.Object
  extended by javax.swing.plaf.ComponentUI
      extended by javax.swing.plaf.ScrollPaneUI
          extended by javax.swing.plaf.basic.BasicScrollPaneUI
              extended by org.jvnet.substance.SubstanceScrollPaneUI
All Implemented Interfaces:
javax.swing.ScrollPaneConstants

public class SubstanceScrollPaneUI
extends javax.swing.plaf.basic.BasicScrollPaneUI

UI for scroll panes in Substance look and feel.

Author:
Kirill Grouchnikov

Nested Class Summary
protected static class SubstanceScrollPaneUI.AdjustedLayout
          Layout manager to adjust the bounds of scrollbars and the viewport when the default (SubstanceScrollPaneBorder) border is set on the relevant JScrollPane.
 
Nested classes/interfaces inherited from class javax.swing.plaf.basic.BasicScrollPaneUI
javax.swing.plaf.basic.BasicScrollPaneUI.HSBChangeListener, javax.swing.plaf.basic.BasicScrollPaneUI.MouseWheelHandler, javax.swing.plaf.basic.BasicScrollPaneUI.PropertyChangeHandler, javax.swing.plaf.basic.BasicScrollPaneUI.ViewportChangeHandler, javax.swing.plaf.basic.BasicScrollPaneUI.VSBChangeListener
 
Field Summary
protected  long horScrollId
          Fade ID of the current horizontal scroll under smart tree scroll mode.
protected  java.beans.PropertyChangeListener substancePropertyChangeListener
          Property change listener on SubstanceLookAndFeel.SCROLL_PANE_BUTTONS_POLICY, SubstanceLookAndFeel#WATERMARK_TO_BLEED and layoutManager properties.
protected  javax.swing.event.ChangeListener substanceVerticalScrollbarChangeListener
          Listener on the vertical scroll bar.
 
Fields inherited from class javax.swing.plaf.basic.BasicScrollPaneUI
hsbChangeListener, scrollpane, spPropertyChangeListener, viewportChangeListener, vsbChangeListener
 
Fields inherited from interface javax.swing.ScrollPaneConstants
COLUMN_HEADER, HORIZONTAL_SCROLLBAR, HORIZONTAL_SCROLLBAR_ALWAYS, HORIZONTAL_SCROLLBAR_AS_NEEDED, HORIZONTAL_SCROLLBAR_NEVER, HORIZONTAL_SCROLLBAR_POLICY, LOWER_LEADING_CORNER, LOWER_LEFT_CORNER, LOWER_RIGHT_CORNER, LOWER_TRAILING_CORNER, ROW_HEADER, UPPER_LEADING_CORNER, UPPER_LEFT_CORNER, UPPER_RIGHT_CORNER, UPPER_TRAILING_CORNER, VERTICAL_SCROLLBAR, VERTICAL_SCROLLBAR_ALWAYS, VERTICAL_SCROLLBAR_AS_NEEDED, VERTICAL_SCROLLBAR_NEVER, VERTICAL_SCROLLBAR_POLICY, VIEWPORT
 
Constructor Summary
SubstanceScrollPaneUI()
           
 
Method Summary
static javax.swing.plaf.ComponentUI createUI(javax.swing.JComponent comp)
          Creates new UI delegate.
protected  void installDefaults(javax.swing.JScrollPane scrollpane)
           
protected  void installListeners(javax.swing.JScrollPane c)
           
protected static void installTableHeaderCornerFiller(javax.swing.JScrollPane scrollpane)
          Installs a corner filler that matches the table header.
protected  void uninstallDefaults(javax.swing.JScrollPane c)
           
protected  void uninstallListeners(javax.swing.JComponent c)
           
 void update(java.awt.Graphics g, javax.swing.JComponent c)
           
 
Methods inherited from class javax.swing.plaf.basic.BasicScrollPaneUI
createHSBChangeListener, createMouseWheelListener, createPropertyChangeListener, createViewportChangeListener, createVSBChangeListener, getBaseline, getBaselineResizeBehavior, getMaximumSize, installKeyboardActions, installUI, paint, syncScrollPaneWithViewport, uninstallKeyboardActions, uninstallUI, updateColumnHeader, updateRowHeader, updateScrollBarDisplayPolicy, updateViewport
 
Methods inherited from class javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, getMinimumSize, getPreferredSize
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

substancePropertyChangeListener

protected java.beans.PropertyChangeListener substancePropertyChangeListener
Property change listener on SubstanceLookAndFeel.SCROLL_PANE_BUTTONS_POLICY, SubstanceLookAndFeel#WATERMARK_TO_BLEED and layoutManager properties.


substanceVerticalScrollbarChangeListener

protected javax.swing.event.ChangeListener substanceVerticalScrollbarChangeListener
Listener on the vertical scroll bar. Installed for the smart tree scroll (see SubstanceLookAndFeel.TREE_SMART_SCROLL_ANIMATION_KIND.


horScrollId

protected long horScrollId
Fade ID of the current horizontal scroll under smart tree scroll mode.

Constructor Detail

SubstanceScrollPaneUI

public SubstanceScrollPaneUI()
Method Detail

createUI

public static javax.swing.plaf.ComponentUI createUI(javax.swing.JComponent comp)
Creates new UI delegate.

Parameters:
comp - Component.
Returns:
UI delegate for the component.

installDefaults

protected void installDefaults(javax.swing.JScrollPane scrollpane)
Overrides:
installDefaults in class javax.swing.plaf.basic.BasicScrollPaneUI

uninstallDefaults

protected void uninstallDefaults(javax.swing.JScrollPane c)
Overrides:
uninstallDefaults in class javax.swing.plaf.basic.BasicScrollPaneUI

installListeners

protected void installListeners(javax.swing.JScrollPane c)
Overrides:
installListeners in class javax.swing.plaf.basic.BasicScrollPaneUI

uninstallListeners

protected void uninstallListeners(javax.swing.JComponent c)
Overrides:
uninstallListeners in class javax.swing.plaf.basic.BasicScrollPaneUI

update

public void update(java.awt.Graphics g,
                   javax.swing.JComponent c)
Overrides:
update in class javax.swing.plaf.ComponentUI

installTableHeaderCornerFiller

protected static void installTableHeaderCornerFiller(javax.swing.JScrollPane scrollpane)
Installs a corner filler that matches the table header. This is done to provide a continuous appearance for tables with table headers placed in scroll panes.

Parameters:
scrollpane - Scroll pane.