java.lang.Object
javax.swing.ScrollPaneLayout
- 所有已实现的接口:
LayoutManager,Serializable,ScrollPaneConstants
public class ScrollPaneLayout extends Object implements LayoutManager , ScrollPaneConstants , Serializable
JScrollPane 使用的布局管理器。 JScrollPaneLayout 负责九个组件:一个视口、两个滚动条、一个行标题、一个列标题和四个“角”组件。
Warning: 此类的序列化对象将与未来的 Swing 版本不兼容。当前的序列化支持适用于运行相同版本 Swing 的应用程序之间的短期存储或 RMI。从 1.4 开始,对所有 JavaBeans 的长期存储的支持已添加到 java.beans 包中。请参阅 XMLEncoder 。
- 自从:
- 1.2
- 参见:
-
内部类总结
内部类 -
字段摘要
字段修饰符和类型Field描述protected JViewport列标题子项。protected JScrollBar滚动窗格的水平滚动条子项。protected int水平滚动条的显示策略。protected Component要显示在左下角的组件。protected Component要显示在右下角的组件。protected JViewport行标题子项。protected Component要显示在左上角的组件。protected Component要显示在右上角的组件。protected JViewport滚动窗格的视口子项。protected JScrollBar滚动窗格的垂直滚动条子项。protected int垂直滚动条的显示策略。在接口 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 -
构造方法总结
构造方法 -
方法总结
修饰符和类型方法描述void将指定的组件添加到布局中。protected ComponentaddSingletonComponent(Component oldC, Component newC) 删除现有组件。返回作为列标题的JViewport对象。返回指定角的Component。返回处理水平滚动的JScrollBar对象。int返回水平滚动条显示策略。返回作为行标题的JViewport对象。返回处理垂直滚动的JScrollBar对象。int返回垂直滚动条显示策略。返回显示可滚动内容的JViewport对象。getViewportBorderBounds(JScrollPane scrollpane) 已弃用。voidlayoutContainer(Container parent) 布置滚动窗格。minimumLayoutSize(Container parent) ScrollPane的最小大小是 insets 的大小加上视口的最小大小,加上滚动窗格的 viewportBorder insets,加上可见标题的最小大小,加上 displayPolicy 不是 NEVER 的滚动条的最小大小。preferredLayoutSize(Container parent) ScrollPane的首选大小是 insets 的大小,加上视口的首选大小,加上可见标题的首选大小,加上在给定当前视图和当前滚动条显示策略的情况下将出现的滚动条的首选大小。void从布局中移除指定的组件。voidsetHorizontalScrollBarPolicy(int x) 设置水平滚动条显示策略。voidsetVerticalScrollBarPolicy(int x) 设置垂直滚动条显示策略。void在将 ScrollPaneLayout 设置为JScrollPane的 LayoutManager 后调用此方法。
-
字段详细信息
-
viewport
滚动窗格的视口子项。默认为空JViewport。- 参见:
-
vsb
滚动窗格的垂直滚动条子项。默认为JScrollBar。- 参见:
-
hsb
滚动窗格的水平滚动条子项。默认为JScrollBar。- 参见:
-
rowHead
行标题子项。默认为null。- 参见:
-
colHead
列标题子项。默认为null。- 参见:
-
lowerLeft
要显示在左下角的组件。默认为null。- 参见:
-
lowerRight
要显示在右下角的组件。默认为null。- 参见:
-
upperLeft
要显示在左上角的组件。默认为null。- 参见:
-
upperRight
要显示在右上角的组件。默认为null。- 参见:
-
vsbPolicy
protected int vsbPolicy垂直滚动条的显示策略。默认值为ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED。此字段已过时,请改用
JScrollPane字段。- 参见:
-
hsbPolicy
protected int hsbPolicy水平滚动条的显示策略。默认为ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED。此字段已过时,请改用
JScrollPane字段。- 参见:
-
-
构造方法详细信息
-
ScrollPaneLayout
public ScrollPaneLayout()构造一个ScrollPaneLayout
-
-
方法详情
-
syncWithScrollPane
在将 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
删除现有组件。添加新组件(例如左上角或垂直滚动条)时,必须删除旧组件(如果存在)。此方法返回
newC。如果oldC不等于newC并且是非null,它将从其父项中删除。- 参数:
oldC- 要替换的ComponentnewC- 要添加的Component- 返回:
newC
-
addLayoutComponent
将指定的组件添加到布局中。使用以下之一标识布局:- 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
- 指定者:
addLayoutComponent在接口LayoutManager中- 参数:
s- 组件标识符c- 要添加的组件- 抛出:
IllegalArgumentException- 如果s是无效密钥
-
removeLayoutComponent
从布局中移除指定的组件。- 指定者:
removeLayoutComponent在接口LayoutManager中- 参数:
c- 要删除的组件
-
getVerticalScrollBarPolicy
public int getVerticalScrollBarPolicy()返回垂直滚动条显示策略。- 返回:
- 给出显示策略的整数
- 参见:
-
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
public void setHorizontalScrollBarPolicy(int x) 设置水平滚动条显示策略。选项是:- ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED
- ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER
- ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS
JScrollPane版本。它的存在只是为了向后兼容此类的 Swing 1.0.2(及更早版本)版本。- 参数:
x- 一个给出显示策略的整数- 抛出:
IllegalArgumentException- 如果x不是有效的水平滚动条策略,如上所列
-
getViewport
返回显示可滚动内容的JViewport对象。- 返回:
-
显示可滚动内容的
JViewport对象 - 参见:
-
getHorizontalScrollBar
返回处理水平滚动的JScrollBar对象。- 返回:
-
处理水平滚动的
JScrollBar对象 - 参见:
-
getVerticalScrollBar
返回处理垂直滚动的JScrollBar对象。- 返回:
-
处理垂直滚动的
JScrollBar对象 - 参见:
-
getRowHeader
返回作为行标题的JViewport对象。- 返回:
-
作为行标题的
JViewport对象 - 参见:
-
getColumnHeader
返回作为列标题的JViewport对象。- 返回:
-
作为列标题的
JViewport对象 - 参见:
-
getCorner
返回指定角的Component。- 参数:
key- 指定角的String- 返回:
-
指定角的
Component,如ScrollPaneConstants中所定义;如果key不是四个角之一,则返回null - 参见:
-
preferredLayoutSize
ScrollPane的首选大小是 insets 的大小,加上视口的首选大小,加上可见标题的首选大小,加上在给定当前视图和当前滚动条显示策略的情况下将出现的滚动条的首选大小。请注意,rowHeader 计算为首选宽度的一部分,colHeader 计算为首选大小的一部分。
- 指定者:
preferredLayoutSize在接口LayoutManager中- 参数:
parent- 将要布置的Container- 返回:
-
一个
Dimension对象,指定视口和任何滚动条的首选大小 - 参见:
-
minimumLayoutSize
ScrollPane的最小大小是 insets 的大小加上视口的最小大小,加上滚动窗格的 viewportBorder insets,加上可见标题的最小大小,加上 displayPolicy 不是 NEVER 的滚动条的最小大小。- 指定者:
minimumLayoutSize在接口LayoutManager中- 参数:
parent- 将要布置的Container- 返回:
-
指定最小尺寸的
Dimension对象 - 参见:
-
layoutContainer
布置滚动窗格。组件的定位取决于以下约束:- 行标题(如果存在且可见)将获得其首选宽度和视口高度。
- 列标题(如果存在且可见)将获得其首选高度和视口宽度。
- 如果需要垂直滚动条,即如果视口的范围高度小于它的视图高度,或者如果
displayPolicy始终为,那么就其尺寸而言,它会被视为行标题并显示。 - 如果需要水平滚动条,则将其视为列标题(请参阅上面关于垂直滚动条的段落)。
- 如果滚动窗格有一个非
nullviewportBorder,则为其分配空间。 - 考虑到先前的约束后,视口获得可用空间。
- 角组件(如果提供)与滚动条和标题的末端对齐。如果有垂直滚动条,右角出现;如果有水平滚动条,则显示下角;行标题位于左角,列标题位于上角。
- 指定者:
layoutContainer在接口LayoutManager中- 参数:
parent- 要布置的Container
-
getViewportBorderBounds
已弃用。从 JDK 版本 Swing1.1 开始,由JScrollPane.getViewportBorderBounds()取代。返回指定滚动窗格视口周围的边框边界。- 参数:
scrollpane-JScrollPane的实例- 返回:
- 视口边框的大小和位置
-
JScrollPane.getViewportBorderBounds()取代。