JavaTM 2 Platform
Standard Edition

javax.swing.plaf.basic
Class BasicScrollPaneUI

java.lang.Object
  |
  +--javax.swing.plaf.ComponentUI
        |
        +--javax.swing.plaf.ScrollPaneUI
              |
              +--javax.swing.plaf.basic.BasicScrollPaneUI
Direct Known Subclasses:
MetalScrollPaneUI

public class BasicScrollPaneUI
extends ScrollPaneUI
implements ScrollPaneConstants

A default L&F implementation of ScrollPaneUI.


Inner Class Summary
 class BasicScrollPaneUI.HSBChangeListener
          Horizontal scrollbar listener.
 class BasicScrollPaneUI.PropertyChangeHandler
           
 class BasicScrollPaneUI.ViewportChangeHandler
          Listener for viewport events.
 class BasicScrollPaneUI.VSBChangeListener
          Vertical scrollbar listener.
 
Field Summary
protected  ChangeListener hsbChangeListener
           
protected  JScrollPane scrollpane
           
protected  PropertyChangeListener spPropertyChangeListener
           
protected  ChangeListener viewportChangeListener
           
protected  ChangeListener 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_LEFT_CORNER, LOWER_RIGHT_CORNER, ROW_HEADER, UPPER_LEFT_CORNER, UPPER_RIGHT_CORNER, VERTICAL_SCROLLBAR, VERTICAL_SCROLLBAR_ALWAYS, VERTICAL_SCROLLBAR_AS_NEEDED, VERTICAL_SCROLLBAR_NEVER, VERTICAL_SCROLLBAR_POLICY, VIEWPORT
 
Constructor Summary
BasicScrollPaneUI()
           
 
Method Summary
protected  ChangeListener createHSBChangeListener()
           
protected  PropertyChangeListener createPropertyChangeListener()
          Creates an instance of PropertyChangeListener that's added to the JScrollPane by installUI().
static ComponentUI createUI(JComponent x)
           
protected  ChangeListener createViewportChangeListener()
           
protected  ChangeListener createVSBChangeListener()
           
 Dimension getMaximumSize(JComponent c)
           
 Dimension getMinimumSize(JComponent c)
           
 Dimension getPreferredSize(JComponent c)
           
protected  void installDefaults(JScrollPane scrollpane)
           
protected  void installKeyboardActions(JScrollPane c)
           
protected  void installListeners(JScrollPane c)
           
 void installUI(JComponent x)
           
 void paint(Graphics g, JComponent c)
           
protected  void syncScrollPaneWithViewport()
           
protected  void uninstallDefaults(JScrollPane c)
           
protected  void uninstallKeyboardActions(JScrollPane c)
           
protected  void uninstallListeners(JComponent c)
           
 void uninstallUI(JComponent c)
           
protected  void updateColumnHeader(PropertyChangeEvent e)
           
protected  void updateRowHeader(PropertyChangeEvent e)
           
protected  void updateScrollBarDisplayPolicy(PropertyChangeEvent e)
           
protected  void updateViewport(PropertyChangeEvent e)
           
 
Methods inherited from class javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

scrollpane

protected JScrollPane scrollpane

vsbChangeListener

protected ChangeListener vsbChangeListener

hsbChangeListener

protected ChangeListener hsbChangeListener

viewportChangeListener

protected ChangeListener viewportChangeListener

spPropertyChangeListener

protected PropertyChangeListener spPropertyChangeListener
Constructor Detail

BasicScrollPaneUI

public BasicScrollPaneUI()
Method Detail

createUI

public static ComponentUI createUI(JComponent x)

paint

public void paint(Graphics g,
                  JComponent c)
Overrides:
paint in class ComponentUI

getPreferredSize

public Dimension getPreferredSize(JComponent c)
Overrides:
getPreferredSize in class ComponentUI
Returns:
null which indicates that the LayoutManager will compute the value
See Also:
JComponent.getPreferredSize()

getMinimumSize

public Dimension getMinimumSize(JComponent c)
Overrides:
getMinimumSize in class ComponentUI
Returns:
the preferred size
See Also:
getPreferredSize(javax.swing.JComponent)

getMaximumSize

public Dimension getMaximumSize(JComponent c)
Overrides:
getMaximumSize in class ComponentUI
Returns:
new Dimension(Short.MAX_VALUE, Short.MAX_VALUE)

installDefaults

protected void installDefaults(JScrollPane scrollpane)

installListeners

protected void installListeners(JScrollPane c)

installKeyboardActions

protected void installKeyboardActions(JScrollPane c)

installUI

public void installUI(JComponent x)
Overrides:
installUI in class ComponentUI

uninstallDefaults

protected void uninstallDefaults(JScrollPane c)

uninstallListeners

protected void uninstallListeners(JComponent c)

uninstallKeyboardActions

protected void uninstallKeyboardActions(JScrollPane c)

uninstallUI

public void uninstallUI(JComponent c)
Overrides:
uninstallUI in class ComponentUI

syncScrollPaneWithViewport

protected void syncScrollPaneWithViewport()

createViewportChangeListener

protected ChangeListener createViewportChangeListener()

createHSBChangeListener

protected ChangeListener createHSBChangeListener()

createVSBChangeListener

protected ChangeListener createVSBChangeListener()

updateScrollBarDisplayPolicy

protected void updateScrollBarDisplayPolicy(PropertyChangeEvent e)

updateViewport

protected void updateViewport(PropertyChangeEvent e)

updateRowHeader

protected void updateRowHeader(PropertyChangeEvent e)

updateColumnHeader

protected void updateColumnHeader(PropertyChangeEvent e)

createPropertyChangeListener

protected PropertyChangeListener createPropertyChangeListener()
Creates an instance of PropertyChangeListener that's added to the JScrollPane by installUI(). Subclasses can override this method to return a custom PropertyChangeListener, e.g.
 class MyScrollPaneUI extends BasicScrollPaneUI {
    protected PropertyChangeListener createPropertyListener() {
        return new MyPropertyListener();
    }
    public class MyPropertyListener extends PropertyListener {
        public void propertyChange(PropertyChangeEvent e) {
            if (e.getPropertyName().equals("viewport")) {
                // do some extra work when the viewport changes
            }
            super.propertyChange(e);
        }
    }
 }
 
See Also:
PropertyListener, installUI(javax.swing.JComponent)

JavaTM 2 Platform
Standard Edition

Submit a bug or feature
Java, Java 2D, and JDBC are a trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-1999 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.