- java.lang.Object
 -  
      
- javax.swing.ScrollPaneLayout
 
 
-  
       
- 实现的所有接口
 -  
         
LayoutManager,Serializable,ScrollPaneConstants 
- 已知直接子类:
 -  
         
ScrollPaneLayout.UIResource 
public class ScrollPaneLayout extends Object implements LayoutManager, ScrollPaneConstants, Serializable
布局管理器使用JScrollPane。JScrollPaneLayout负责九个组件:一个视口,两个滚动条,一个行标题,一个列标题和四个“角落”组件。警告:此类的序列化对象与以后的Swing版本不兼容。 当前的序列化支持适用于运行相同版本Swing的应用程序之间的短期存储或RMI。 从1.4开始,
java.beans软件包中添加了对所有JavaBeansjava.beans长期存储的支持。 请参阅XMLEncoder。- 从以下版本开始:
 - 1.2
 - 另请参见:
 -  
         
JScrollPane,JViewport, Serialized Form 
 
-  
        
       
-  
             
嵌套类汇总
嵌套类 变量和类型 类 描述 static classScrollPaneLayout.UIResourceUI资源版本为ScrollPaneLayout。 
-  
             
字段汇总
字段 变量和类型 字段 描述 protected JViewportcolHead列标题子。protected JScrollBarhsb滚动窗格的水平滚动条子项。protected inthsbPolicy水平滚动条的显示策略。protected ComponentlowerLeft要在左下角显示的组件。protected ComponentlowerRight要在右下角显示的组件。protected JViewportrowHead行标题子。protected ComponentupperLeft要在左上角显示的组件。protected ComponentupperRight要在右上角显示的组件。protected JViewportviewportscrollpane的视口子项。protected JScrollBarvsb滚动窗格的垂直滚动条子项。protected intvsbPolicy垂直滚动条的显示策略。-  
               
Fields declared in 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 
 -  
               
 
-  
             
构造方法摘要
构造方法 构造器 描述 ScrollPaneLayout() 
-  
             
方法摘要
所有方法 实例方法 具体的方法 弃用的方法 变量和类型 方法 描述 voidaddLayoutComponent(String s, Component c)将指定的组件添加到布局中。protected ComponentaddSingletonComponent(Component oldC, Component newC)删除现有组件。JViewportgetColumnHeader()返回作为列标题的JViewport对象。ComponentgetCorner(String key)返回指定角落的Component。JScrollBargetHorizontalScrollBar()返回处理水平滚动的JScrollBar对象。intgetHorizontalScrollBarPolicy()返回水平滚动条显示策略。JViewportgetRowHeader()返回作为行标题的JViewport对象。JScrollBargetVerticalScrollBar()返回处理垂直滚动的JScrollBar对象。intgetVerticalScrollBarPolicy()返回垂直滚动条显示策略。JViewportgetViewport()返回显示可滚动内容的JViewport对象。RectanglegetViewportBorderBounds(JScrollPane scrollpane)已过时。截至JDK版本,Swing1.1由JScrollPane.getViewportBorderBounds()取代。voidlayoutContainer(Container parent)布置滚动窗格。DimensionminimumLayoutSize(Container parent)ScrollPane的最小大小是insets的大小加上视口的最小大小,加上scrollpane的viewportBorder insets,加上可见标题的最小大小,加上displayPolicy不是NEVER的滚动条的最小大小。DimensionpreferredLayoutSize(Container parent)ScrollPane的首选大小是插图的大小,加上视口的首选大小,加上可见标题的首选大小,以及在给定当前视图和当前滚动条displayPolicies时显示的滚动条的首选大小。voidremoveLayoutComponent(Component c)从布局中删除指定的组件。voidsetHorizontalScrollBarPolicy(int x)设置水平滚动条显示策略。voidsetVerticalScrollBarPolicy(int x)设置垂直滚动条显示策略。voidsyncWithScrollPane(JScrollPane sp)将ScrollPaneLayout设置为JScrollPane的LayoutManager后调用此方法。 
 -  
             
 
-  
        
       
-  
             
字段详细信息
-  
viewport
protected JViewport viewport
scrollpane的视口子项。 默认为空JViewport。 
-  
vsb
protected JScrollBar vsb
滚动窗格的垂直滚动条子项。 默认值为JScrollBar。 
-  
hsb
protected JScrollBar hsb
滚动窗格的水平滚动条子项。 默认值为JScrollBar。 
-  
rowHead
protected JViewport rowHead
行标题子。 默认值为null。 
-  
colHead
protected JViewport colHead
列标题子。 默认值为null。 
-  
lowerLeft
protected Component lowerLeft
要在左下角显示的组件。 默认值为null。 
-  
lowerRight
protected Component lowerRight
要在右下角显示的组件。 默认值为null。 
-  
upperLeft
protected Component upperLeft
要在左上角显示的组件。 默认值为null。 
-  
upperRight
protected Component upperRight
要在右上角显示的组件。 默认值为null。 
-  
vsbPolicy
protected int vsbPolicy
垂直滚动条的显示策略。 默认值为ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED。此字段已过时,请改用
JScrollPane字段。 
-  
hsbPolicy
protected int hsbPolicy
水平滚动条的显示策略。 默认值为ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED。该字段已过时,请改用
JScrollPane字段。 
 -  
 
-  
             
方法详细信息
-  
syncWithScrollPane
public void syncWithScrollPane(JScrollPane sp)
将ScrollPaneLayout设置为JScrollPane的LayoutManager后,将调用此方法。 它初始化通常由addLayoutComponent设置的所有内部字段。 例如:ScrollPaneLayout mySPLayout = new ScrollPanelLayout() { public void layoutContainer(Container p) { super.layoutContainer(p); // do some extra work here ... } }; scrollpane.setLayout(mySPLayout):- 参数
 -  
              
sp-的实例JScrollPane 
 
-  
addSingletonComponent
protected Component addSingletonComponent(Component oldC, Component newC)
删除现有组件。 添加新组件(如左角或垂直滚动条)时,必须删除旧组件(如果存在)。此方法返回
newC。 如果oldC不等于newC且非null,则将从其父项中删除它。- 参数
 -  
              
oldC- 替换Component -  
              
newC- 要添加的Component - 结果
 -  
              
newC 
 
-  
addLayoutComponent
public void addLayoutComponent(String s, Component c)
将指定的组件添加到布局中。 使用以下方法之一识别布局:- ScrollPaneConstants.VIEWPORT
 - ScrollPaneConstants.VERTICAL_SCROLLBAR
 - ScrollPaneConstants.HORIZONTAL_SCROLLBAR
 - ScrollPaneConstants.ROW_HEADER
 - ScrollPaneConstants.COLUMN_HEADER
 - ScrollPaneConstants.LOWER_LEFT_CORNER
 - ScrollPaneConstants.LOWER_RIGHT_CORNER
 - ScrollPaneConstants.UPPER_LEFT_CORNER
 - ScrollPaneConstants.UPPER_RIGHT_CORNER
 
- Specified by:
 -  
              
addLayoutComponent在界面LayoutManager - 参数
 -  
              
s- 组件标识符 -  
              
c- 要添加的组件 - 异常
 -  
              
IllegalArgumentException- 如果s是无效密钥 
 
-  
removeLayoutComponent
public void removeLayoutComponent(Component c)
从布局中删除指定的组件。- Specified by:
 -  
              
removeLayoutComponent在界面LayoutManager - 参数
 -  
              
c- 要删除的组件 
 
-  
getVerticalScrollBarPolicy
public int getVerticalScrollBarPolicy()
返回垂直滚动条显示策略。- 结果
 - 给出显示策略的整数
 - 另请参见:
 -  
              
setVerticalScrollBarPolicy(int) 
 
-  
setVerticalScrollBarPolicy
public void setVerticalScrollBarPolicy(int x)
设置垂直滚动条显示策略。 选项是:- ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED
 - ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER
 - ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS
 
JScrollPane版本。 它仅用于向后兼容此类的Swing 1.0.2(及更早版本)版本。- 参数
 -  
              
x- 给出显示策略的整数 - 异常
 -  
              
IllegalArgumentException- 如果x是无效的垂直滚动条策略,如上所列 
 
-  
getHorizontalScrollBarPolicy
public int getHorizontalScrollBarPolicy()
返回水平滚动条显示策略。- 结果
 - 给出显示策略的整数
 - 另请参见:
 -  
              
setHorizontalScrollBarPolicy(int) 
 
-  
setHorizontalScrollBarPolicy
public void setHorizontalScrollBarPolicy(int x)
设置水平滚动条显示策略。 选项是:- ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED
 - ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER
 - ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS
 
JScrollPane版本。 它仅用于向后兼容此类的Swing 1.0.2(及更早版本)版本。- 参数
 -  
              
x- 提供显示策略的int - 异常
 -  
              
IllegalArgumentException- 如果x不是有效的水平滚动条策略,如上所列 
 
-  
getViewport
public JViewport getViewport()
返回显示可滚动内容的JViewport对象。- 结果
 - 
               显示可滚动内容的 
              
JViewport对象 - 另请参见:
 -  
              
JScrollPane.getViewport() 
 
-  
getHorizontalScrollBar
public JScrollBar getHorizontalScrollBar()
返回处理水平滚动的JScrollBar对象。- 结果
 - 
               处理水平滚动的 
              
JScrollBar对象 - 另请参见:
 -  
              
JScrollPane.getHorizontalScrollBar() 
 
-  
getVerticalScrollBar
public JScrollBar getVerticalScrollBar()
返回处理垂直滚动的JScrollBar对象。- 结果
 - 
               处理垂直滚动的 
              
JScrollBar对象 - 另请参见:
 -  
              
JScrollPane.getVerticalScrollBar() 
 
-  
getRowHeader
public JViewport getRowHeader()
返回作为行标题的JViewport对象。- 结果
 - 
               作为行标题的 
              
JViewport对象 - 另请参见:
 -  
              
JScrollPane.getRowHeader() 
 
-  
getColumnHeader
public JViewport getColumnHeader()
返回作为列标题的JViewport对象。- 结果
 - 
               作为列标题的 
              
JViewport对象 - 另请参见:
 -  
              
JScrollPane.getColumnHeader() 
 
-  
getCorner
public Component getCorner(String key)
返回指定角落的Component。- 参数
 -  
              
key- 指定角落的String - 结果
 -  
              指定角落的
Component,如ScrollPaneConstants中所定义; 如果key不是四个角之一,则返回null - 另请参见:
 -  
              
JScrollPane.getCorner(java.lang.String) 
 
-  
preferredLayoutSize
public Dimension preferredLayoutSize(Container parent)
ScrollPane的首选大小是插图的大小,加上视口的首选大小,加上可见标题的首选大小,以及在给定当前视图和当前滚动条displayPolicies时将显示的滚动条的首选大小。请注意,rowHeader是作为首选宽度的一部分计算的,而colHeader是作为首选大小的一部分计算的。
- Specified by:
 -  
              
preferredLayoutSize在界面LayoutManager - 参数
 -  
              
parent- 将布置的Container - 结果
 -  
              
Dimension对象,指定视口和任何滚动条的首选大小 - 另请参见:
 -  
              
ViewportLayout,LayoutManager 
 
-  
minimumLayoutSize
public Dimension minimumLayoutSize(Container parent)
ScrollPane的最小大小是insets的大小加上视口的最小大小,加上scrollpane的viewportBorder insets,加上可见标题的最小大小,加上displayPolicy不是NEVER的滚动条的最小大小。- Specified by:
 -  
              
minimumLayoutSize在界面LayoutManager - 参数
 -  
              
parent- 将布置的Container - 结果
 - 
               指定最小大小的 
              
Dimension对象 - 另请参见:
 -  
              
LayoutManager.preferredLayoutSize(java.awt.Container) 
 
-  
layoutContainer
public void layoutContainer(Container parent)
布置滚动窗格。 组件的定位取决于以下约束:- 行标题(如果存在且可见)获取其首选宽度和视口的高度。
 - 列标题(如果存在且可见)将获得其首选高度和视口宽度。
 -  如果需要垂直滚动条,即如果视口的范围高度小于其视图高度,或者如果
displayPolicy始终如此,则将其视为displayPolicy的行标题并使其可见。 - 如果需要水平滚动条,则将其视为列标题(请参阅上面有关垂直滚动条的段落)。
 -  如果滚动窗格具有非
nullviewportBorder,则为其分配空间。 - 在考虑先前的约束之后,视口获取可用空间。
 - 角落组件(如果提供)与滚动条和标题的末端对齐。 如果有垂直滚动条,则出现右角; 如果有水平滚动条,则出现下角; 行标题左下角,列标题获取上角。
 
- Specified by:
 -  
              
layoutContainer在界面LayoutManager - 参数
 -  
              
parent-Container布局 
 
-  
getViewportBorderBounds
@Deprecated public Rectangle getViewportBorderBounds(JScrollPane scrollpane)
Deprecated.As of JDK version Swing1.1 replaced byJScrollPane.getViewportBorderBounds().返回指定滚动窗格视口周围边框的边界。- 参数
 -  
              
scrollpane-的实例JScrollPane - 结果
 - 视口边框的大小和位置
 
 
 -  
 
 -