Java Platform 1.2
Beta 4

com.sun.java.swing
Class ScrollPaneLayout

java.lang.Object
  |
  +--com.sun.java.swing.ScrollPaneLayout
Direct Known Subclasses:
ScrollPaneLayout.UIResource

public class ScrollPaneLayout
extends Object
implements LayoutManager, ScrollPaneConstants, Serializable

The layout manager used by JScrollPane. JScrollPaneLayout is responsible for nine components: a viewport, two scrollbars, a row header, a column header, and four "corner" components.

Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.

See Also:
JScrollPane, JViewport, Serialized Form

Inner Class Summary
static class ScrollPaneLayout.UIResource
           
 
Field Summary
protected  JViewport colHead
          The column header child.
protected  JScrollBar hsb
          The scrollpanes horizontal scrollbar child.
protected  int hsbPolicy
          The display policy for the horizontal scrollbar.
protected  Component lowerLeft
          The component to display in the lower left corner.
protected  Component lowerRight
          The component to display in the lower right corner.
protected  JViewport rowHead
          The row header child.
protected  Component upperLeft
          The component to display in the upper left corner.
protected  Component upperRight
          The component to display in the upper right corner.
protected  JViewport viewport
          The scrollpanes viewport child.
protected  JScrollBar vsb
          The scrollpanes vertical scrollbar child.
protected  int vsbPolicy
          The display policy for the vertical scrollbar.
 
Constructor Summary
ScrollPaneLayout()
           
 
Method Summary
 void addLayoutComponent(String s, Component c)
          Adds the specified component to the layout, identifying it as one of: JScrollPane.
protected  Component addSingletonComponent(Component oldC, Component newC)
          The method used to replace an existing component (if any) with a new one.
 JViewport getColumnHeader()
           
 Component getCorner(String key)
           
 JScrollBar getHorizontalScrollBar()
           
 int getHorizontalScrollBarPolicy()
          Returns the horizontal scrollbar-display policy.
 JViewport getRowHeader()
           
 JScrollBar getVerticalScrollBar()
           
 int getVerticalScrollBarPolicy()
          Returns the vertical scrollbar-display policy.
 JViewport getViewport()
           
 Rectangle getViewportBorderBounds(JScrollPane scrollpane)
          Deprecated. As of JDK version Swing1.1 replaced by JScrollPane.getViewportBorderBounds().
 void layoutContainer(Container parent)
          Layout the scrollpane.
 Dimension minimumLayoutSize(Container parent)
          The minimum size of a ScrollPane is the size of the insets plus minimum size of the viewport, plus the scrollpane's viewportBorder insets, plus the minimum size of the visible headers, plus the minimum size of the scrollbars whose displayPolicy isn't NEVER.
 Dimension preferredLayoutSize(Container parent)
          The preferred size of a ScrollPane is the size of the insets, plus the preferred size of the viewport, plus the preferred size of the visible headers, plus the preferred size of the scrollbars that will appear given the current view and the current scrollbar displayPolicies.
 void removeLayoutComponent(Component c)
          Removes the specified component from the layout.
 void setHorizontalScrollBarPolicy(int x)
          Returns the horizontal scrollbar-display policy, where the options are: JScrollPane.
 void setVerticalScrollBarPolicy(int x)
          Returns the vertical scrollbar-display policy, where the options are: JScrollPane.
 void syncWithScrollPane(JScrollPane sp)
          This method can be called should be after setting a JScrollPanes layout manager.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

viewport

protected JViewport viewport
The scrollpanes viewport child. Default is an empty JViewport.
See Also:
JScrollPane.setViewport(com.sun.java.swing.JViewport)

vsb

protected JScrollBar vsb
The scrollpanes vertical scrollbar child. Default is a JScrollBar.
See Also:
JScrollPane#setVerticalScrollbar

hsb

protected JScrollBar hsb
The scrollpanes horizontal scrollbar child. Default is a JScrollBar.
See Also:
JScrollPane#setHorizontalScrollbar

rowHead

protected JViewport rowHead
The row header child. Default is null.
See Also:
JScrollPane.setRowHeader(com.sun.java.swing.JViewport)

colHead

protected JViewport colHead
The column header child. Default is null.
See Also:
JScrollPane.setColumnHeader(com.sun.java.swing.JViewport)

lowerLeft

protected Component lowerLeft
The component to display in the lower left corner. Default is null.
See Also:
JScrollPane.setCorner(java.lang.String, java.awt.Component)

lowerRight

protected Component lowerRight
The component to display in the lower right corner. Default is null.
See Also:
JScrollPane.setCorner(java.lang.String, java.awt.Component)

upperLeft

protected Component upperLeft
The component to display in the upper left corner. Default is null.
See Also:
JScrollPane.setCorner(java.lang.String, java.awt.Component)

upperRight

protected Component upperRight
The component to display in the upper right corner. Default is null.
See Also:
JScrollPane.setCorner(java.lang.String, java.awt.Component)

vsbPolicy

protected int vsbPolicy
The display policy for the vertical scrollbar. The default is JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED.
See Also:
JScrollPane.setVerticalScrollBarPolicy(int)

hsbPolicy

protected int hsbPolicy
The display policy for the horizontal scrollbar. The default is JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED.
See Also:
JScrollPane.setHorizontalScrollBarPolicy(int)
Constructor Detail

ScrollPaneLayout

public ScrollPaneLayout()
Method Detail

syncWithScrollPane

public void syncWithScrollPane(JScrollPane sp)
This method can be called should be after setting a JScrollPanes layout manager. It initializes all of the internal fields that are ordinarily set by addLayoutComponent(). For example:
 ScrollPaneLayout mySPLayout = new ScrollPanelLayout() {
     public void layoutContainer(Container p) {
         super.layoutContainer(p);
         // do some extra work here ...
     }
 };
 scrollpane.setLayout(mySPLayout):
 mySPLayout.syncWithScrollPane(scrollpane);
 

addSingletonComponent

protected Component addSingletonComponent(Component oldC,
                                          Component newC)
The method used to replace an existing component (if any) with a new one. Used to add each different kind of component to a JScrollPane, since there can be one and only one left corner, vertical scrollbar, and so on. So only one of each subcomponent is allowed, the old one is removed (if it exists) when a new one is added.
Parameters:
oldC - the Component to replace
newC - the Component to add

addLayoutComponent

public void addLayoutComponent(String s,
                               Component c)
Adds the specified component to the layout, identifying it as one of:
Specified by:
addLayoutComponent in interface LayoutManager
Parameters:
s - the component identifier
comp - the the component to be added

removeLayoutComponent

public void removeLayoutComponent(Component c)
Removes the specified component from the layout.
Specified by:
removeLayoutComponent in interface LayoutManager
Parameters:
c - the component to remove

getVerticalScrollBarPolicy

public int getVerticalScrollBarPolicy()
Returns the vertical scrollbar-display policy.
Returns:
an int giving the display policy
See Also:
setVerticalScrollBarPolicy(int)

setVerticalScrollBarPolicy

public void setVerticalScrollBarPolicy(int x)
Returns the vertical scrollbar-display policy, where the options are: Note: Applications should use the JScrollPane version of this method. It only exists for backwards compatibility with the Swing 1.0.2 (and earlier) versions of this class.
Parameters:
x - an int giving the display policy

getHorizontalScrollBarPolicy

public int getHorizontalScrollBarPolicy()
Returns the horizontal scrollbar-display policy.
Returns:
an int giving the display policy
See Also:
setHorizontalScrollBarPolicy(int)

setHorizontalScrollBarPolicy

public void setHorizontalScrollBarPolicy(int x)
Returns the horizontal scrollbar-display policy, where the options are: Note: Applications should use the JScrollPane version of this method. It only exists for backwards compatibility with the Swing 1.0.2 (and earlier) versions of this class.
Parameters:
x - an int giving the display policy

getViewport

public JViewport getViewport()
Returns:
the JViewport object that displays the scrollable contents
See Also:
JScrollPane.getViewport()

getHorizontalScrollBar

public JScrollBar getHorizontalScrollBar()
Returns:
the JScrollbar object that handles horizontal scrolling
See Also:
JScrollPane.getHorizontalScrollBar()

getVerticalScrollBar

public JScrollBar getVerticalScrollBar()
Returns:
the JScrollbar object that handles vertical scrolling
See Also:
JScrollPane.getVerticalScrollBar()

getRowHeader

public JViewport getRowHeader()
Returns:
the JViewport object that is the row header
See Also:
JScrollPane.getRowHeader()

getColumnHeader

public JViewport getColumnHeader()
Returns:
the JViewport object that is the column header
See Also:
JScrollPane.getColumnHeader()

getCorner

public Component getCorner(String key)
Returns:
the Component at the specified corner
See Also:
JScrollPane.getCorner(java.lang.String)

preferredLayoutSize

public Dimension preferredLayoutSize(Container parent)
The preferred size of a ScrollPane is the size of the insets, plus the preferred size of the viewport, plus the preferred size of the visible headers, plus the preferred size of the scrollbars that will appear given the current view and the current scrollbar displayPolicies.
Specified by:
preferredLayoutSize in interface LayoutManager
Parameters:
parent - the Container that will be laid out
Returns:
a Dimension object specifying the preferred size of the viewport and any scrollbars.
See Also:
ViewportLayout, LayoutManager

minimumLayoutSize

public Dimension minimumLayoutSize(Container parent)
The minimum size of a ScrollPane is the size of the insets plus minimum size of the viewport, plus the scrollpane's viewportBorder insets, plus the minimum size of the visible headers, plus the minimum size of the scrollbars whose displayPolicy isn't NEVER.
Specified by:
minimumLayoutSize in interface LayoutManager
Parameters:
parent - the Container that will be laid out
Returns:
a Dimension object specifying the minimum size

layoutContainer

public void layoutContainer(Container parent)
Layout the scrollpane. The positioning of components depends on the following constraints:
Specified by:
layoutContainer in interface LayoutManager
Parameters:
parent - the Container to lay out

getViewportBorderBounds

public Rectangle getViewportBorderBounds(JScrollPane scrollpane)
Deprecated. As of JDK version Swing1.1 replaced by JScrollPane.getViewportBorderBounds().
Returns the bounds of the border around the specified scroll pane's viewport.
Returns:
the size and position of the viewport border

Java Platform 1.2
Beta 4

Submit a bug or feature
Submit comments/suggestions about new javadoc look
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.
This documentation was generated with a post-Beta4 version of Javadoc.