LayoutManager, Serializable, ScrollPaneConstants
ScrollPaneLayout.UIResourcepublic class ScrollPaneLayout extends Object implements LayoutManager, ScrollPaneConstants, Serializable
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 applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeans has been added to the java.beans package. Please see XMLEncoder.
| Modifier and Type | Class | Description | 
|---|---|---|
| static class  | ScrollPaneLayout.UIResource | The UI resource version of  ScrollPaneLayout. | 
| Modifier and Type | Field | Description | 
|---|---|---|
| protected JViewport | colHead | The column header child. | 
| protected JScrollBar | hsb | The scrollpane's 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 scrollpane's viewport child. | 
| protected JScrollBar | vsb | The scrollpane's vertical scrollbar child. | 
| protected int | vsbPolicy | The display policy for the vertical scrollbar. | 
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 | Description | 
|---|---|
| ScrollPaneLayout() | Constructs a  ScrollPaneLayout. | 
| Modifier and Type | Method | Description | 
|---|---|---|
| void | addLayoutComponent | Adds the specified component to the layout. | 
| protected Component | addSingletonComponent | Removes an existing component. | 
| JViewport | getColumnHeader() | Returns the  JViewportobject that is the column header. | 
| Component | getCorner | Returns the  Componentat the specified corner. | 
| JScrollBar | getHorizontalScrollBar() | Returns the  JScrollBarobject that handles horizontal scrolling. | 
| int | getHorizontalScrollBarPolicy() | Returns the horizontal scrollbar-display policy. | 
| JViewport | getRowHeader() | Returns the  JViewportobject that is the row header. | 
| JScrollBar | getVerticalScrollBar() | Returns the  JScrollBarobject that handles vertical scrolling. | 
| int | getVerticalScrollBarPolicy() | Returns the vertical scrollbar-display policy. | 
| JViewport | getViewport() | Returns the  JViewportobject that displays the scrollable contents. | 
| Rectangle | getViewportBorderBounds | 
Deprecated.  | 
| void | layoutContainer | Lays out the scrollpane. | 
| Dimension | minimumLayoutSize | The minimum size of a  ScrollPaneis 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 | The preferred size of a  ScrollPaneis 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 | Removes the specified component from the layout. | 
| void | setHorizontalScrollBarPolicy | Sets the horizontal scrollbar-display policy. | 
| void | setVerticalScrollBarPolicy | Sets the vertical scrollbar-display policy. | 
| void | syncWithScrollPane | This method is invoked after the ScrollPaneLayout is set as the LayoutManager of a  JScrollPane. | 
protected JViewport viewport
JViewport.protected JScrollBar vsb
JScrollBar.protected JScrollBar hsb
JScrollBar.protected JViewport rowHead
null.protected JViewport colHead
null.protected Component lowerLeft
null.protected Component lowerRight
null.protected Component upperLeft
null.protected Component upperRight
null.protected int vsbPolicy
ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED.  This field is obsolete, please use the JScrollPane field instead.
protected int hsbPolicy
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED.  This field is obsolete, please use the JScrollPane field instead.
public ScrollPaneLayout()
ScrollPaneLayout.public void syncWithScrollPane(JScrollPane sp)
JScrollPane. 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):
 
sp - an instance of the JScrollPane
protected Component addSingletonComponent(Component oldC, Component newC)
 This method returns newC. If oldC is not equal to newC and is non-null, it will be removed from its parent.
oldC - the Component to replacenewC - the Component to addnewC
public void addLayoutComponent(String s, Component c)
addLayoutComponent in interface LayoutManager
s - the component identifierc - the component to be addedIllegalArgumentException - if s is an invalid keypublic void removeLayoutComponent(Component c)
removeLayoutComponent in interface LayoutManager
c - the component to removepublic int getVerticalScrollBarPolicy()
public void setVerticalScrollBarPolicy(int x)
JScrollPane version of this method. It only exists for backwards compatibility with the Swing 1.0.2 (and earlier) versions of this class.x - an integer giving the display policyIllegalArgumentException - if x is an invalid vertical scroll bar policy, as listed abovepublic int getHorizontalScrollBarPolicy()
public void setHorizontalScrollBarPolicy(int x)
JScrollPane version of this method. It only exists for backwards compatibility with the Swing 1.0.2 (and earlier) versions of this class.x - an int giving the display policyIllegalArgumentException - if x is not a valid horizontal scrollbar policy, as listed abovepublic JViewport getViewport()
JViewport object that displays the scrollable contents.JViewport object that displays the scrollable contentspublic JScrollBar getHorizontalScrollBar()
JScrollBar object that handles horizontal scrolling.JScrollBar object that handles horizontal scrollingpublic JScrollBar getVerticalScrollBar()
JScrollBar object that handles vertical scrolling.JScrollBar object that handles vertical scrollingpublic JViewport getRowHeader()
JViewport object that is the row header.JViewport object that is the row headerpublic JViewport getColumnHeader()
JViewport object that is the column header.JViewport object that is the column headerpublic Component getCorner(String key)
Component at the specified corner.key - the String specifying the cornerComponent at the specified corner, as defined in ScrollPaneConstants; if key is not one of the four corners, null is returnedpublic Dimension preferredLayoutSize(Container parent)
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. Note that the rowHeader is calculated as part of the preferred width and the colHeader is calculated as part of the preferred size.
preferredLayoutSize in interface LayoutManager
parent - the Container that will be laid outDimension object specifying the preferred size of the viewport and any scrollbarspublic Dimension minimumLayoutSize(Container parent)
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.minimumLayoutSize in interface LayoutManager
parent - the Container that will be laid outDimension object specifying the minimum sizepublic void layoutContainer(Container parent)
displayPolicy is ALWAYS, it's treated like the row header with respect to its dimensions and is made visible. null viewportBorder, then space is allocated for that. layoutContainer in interface LayoutManager
parent - the Container to lay out@Deprecated public Rectangle getViewportBorderBounds(JScrollPane scrollpane)
JScrollPane.getViewportBorderBounds().scrollpane - an instance of the JScrollPane
    © 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
    https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/javax/swing/ScrollPaneLayout.html
  
JScrollPane.getViewportBorderBounds().