- java.lang.Object
-
- javax.swing.ScrollPaneLayout
-
- All Implemented Interfaces:
-
LayoutManager,Serializable,ScrollPaneConstants
- 已知直接子类:
-
ScrollPaneLayout.UIResource
public class ScrollPaneLayout extends Object implements LayoutManager, ScrollPaneConstants, Serializable
由JScrollPane使用的布局管理器。JScrollPaneLayout负责九个组件:视口,两个滚动条,行标题,列标题和四个“角”组件。警告:此类的序列化对象与将来的Swing版本不兼容。 当前的序列化支持适用于运行相同版本的Swing的应用程序之间的短期存储或RMI。 从1.4开始,支持所有JavaBeans的长期存储已被添加到
java.beans包中。 请参阅XMLEncoder。- 从以下版本开始:
- 1.2
- 另请参见:
-
JScrollPane,JViewport, Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 static classScrollPaneLayout.UIResourceUI资源版本为ScrollPaneLayout。
-
Field Summary
Fields Modifier and Type Field 描述 protected JViewportcolHead列标题子。protected JScrollBarhsb滚动盘的水平滚动条小孩。protected inthsbPolicy水平滚动条的显示策略。protected ComponentlowerLeft要显示在左下角的组件。protected ComponentlowerRight要显示在右下角的组件。protected JViewportrowHead行标题子。protected ComponentupperLeft组件显示在左上角。protected ComponentupperRight组件显示在右上角。protected JViewportviewport滚动窗口的视口小孩。protected JScrollBarvsb滚动盘的垂直滚动条小孩。protected intvsbPolicy垂直滚动条的显示策略。-
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 描述 ScrollPaneLayout()
-
方法摘要
所有方法 接口方法 具体的方法 弃用的方法 Modifier and Type 方法 描述 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的最小大小是ScrollPane的大小加上视口的最小大小,加上滚动窗口的viewportBorder插入,加上可见标题的最小大小,以及displayPolicy不是永远不会滚动条的最小大小。DimensionpreferredLayoutSize(Container parent)ScrollPane的首选大小是插图的大小,加上视口的首选大小,加上可见标题的首选大小,加上当前视图和当前滚动条displayPolicies将显示的滚动条的首选大小。voidremoveLayoutComponent(Component c)从布局中删除指定的组件。voidsetHorizontalScrollBarPolicy(int x)设置水平滚动条显示策略。voidsetVerticalScrollBarPolicy(int x)设置垂直滚动条显示策略。voidsyncWithScrollPane(JScrollPane sp)将ScrollPaneLayout设置为JScrollPane的LayoutManager后调用此方法。
-
-
-
字段详细信息
-
viewport
protected JViewport viewport
滚动窗口的视口小孩。 默认是空的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的最小大小是ScrollPane大小加上视口的最小尺寸,加上滚动窗口的viewportBorder插入,加上可见标题的最小大小,加上displayPolicy不是永远不会滚动条的最小大小。- Specified by:
-
minimumLayoutSize在接口LayoutManager - 参数
-
parent- 将被布置的Container - 结果
-
指定最小大小的
Dimension对象 - 另请参见:
-
LayoutManager.preferredLayoutSize(java.awt.Container)
-
layoutContainer
public void layoutContainer(Container parent)
吹出滚屏。 组件的定位取决于以下约束:- 行标题(如果存在和可见)获取其首选宽度和视口的高度。
- 列标题(如果存在和可见)获取其首选高度和视口宽度。
- 如果需要垂直滚动条,即如果视口的范围高度小于其视图高度,或者如果
displayPolicy,则将其视为相对于其尺寸的行标题,并使其可见。 - 如果需要一个水平滚动条,它将被视为列标题(请参阅上面关于垂直滚动条的段落)。
- 如果滚动窗格具有非
nullviewportBorder,则viewportBorder分配空间。 - 视口在计算先前的约束之后获得可用空间。
- 角部件(如果提供)与滚动条和标题的末端对齐。 如果有垂直滚动条,则出现右边角; 如果有水平滚动条,则出现下角; 一个行标题左拐角,一个列标题变成上角。
- Specified by:
-
layoutContainer在接口LayoutManager - 参数
-
parent-Container布置
-
getViewportBorderBounds
@Deprecated public Rectangle getViewportBorderBounds(JScrollPane scrollpane)
已过时。 由JDK版本Swing1.1替换为JScrollPane.getViewportBorderBounds()。返回指定滚动窗格视口周围边框的边界。- 参数
-
scrollpane-的实例JScrollPane - 结果
- 视口边框的大小和位置
-
-