- java.lang.Object
-
- javax.swing.ScrollPaneLayout
-
- 实现的所有接口
-
LayoutManager
,Serializable
,ScrollPaneConstants
- 已知直接子类:
-
ScrollPaneLayout.UIResource
public class ScrollPaneLayoutextends Objectimplements LayoutManager, ScrollPaneConstants, Serializable
布局管理器使用JScrollPane
。JScrollPaneLayout
负责九个组件:一个视口,两个滚动条,一个行标题,一个列标题和四个“角落”组件。警告:此类的序列化对象与以后的Swing版本不兼容。 当前的序列化支持适用于运行相同版本Swing的应用程序之间的短期存储或RMI。 从1.4开始,
java.beans
软件包中添加了对所有JavaBeansjava.beans
长期存储的支持。 请参阅XMLEncoder
。- 从以下版本开始:
- 1.2
- 另请参见:
-
JScrollPane
,JViewport
, Serialized Form
-
-
嵌套类汇总
嵌套类 变量和类型 类 描述 static class
ScrollPaneLayout.UIResource
UI资源版本为ScrollPaneLayout
。
-
字段汇总
字段 变量和类型 字段 描述 protected JViewport
colHead
列标题子。protected JScrollBar
hsb
滚动窗格的水平滚动条子项。protected int
hsbPolicy
水平滚动条的显示策略。protected Component
lowerLeft
要在左下角显示的组件。protected Component
lowerRight
要在右下角显示的组件。protected JViewport
rowHead
行标题子。protected Component
upperLeft
要在左上角显示的组件。protected Component
upperRight
要在右上角显示的组件。protected JViewport
viewport
scrollpane的视口子项。protected JScrollBar
vsb
滚动窗格的垂直滚动条子项。protected int
vsbPolicy
垂直滚动条的显示策略。-
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()
-
方法摘要
所有方法 实例方法 具体的方法 弃用的方法 变量和类型 方法 描述 void
addLayoutComponent(String s, Component c)
将指定的组件添加到布局中。protected Component
addSingletonComponent(Component oldC, Component newC)
删除现有组件。JViewport
getColumnHeader()
返回作为列标题的JViewport
对象。Component
getCorner(String key)
返回指定角落的Component
。JScrollBar
getHorizontalScrollBar()
返回处理水平滚动的JScrollBar
对象。int
getHorizontalScrollBarPolicy()
返回水平滚动条显示策略。JViewport
getRowHeader()
返回作为行标题的JViewport
对象。JScrollBar
getVerticalScrollBar()
返回处理垂直滚动的JScrollBar
对象。int
getVerticalScrollBarPolicy()
返回垂直滚动条显示策略。JViewport
getViewport()
返回显示可滚动内容的JViewport
对象。Rectangle
getViewportBorderBounds(JScrollPane scrollpane)
已过时。截至JDK版本,Swing1.1由JScrollPane.getViewportBorderBounds()
取代。void
layoutContainer(Container parent)
布置滚动窗格。Dimension
minimumLayoutSize(Container parent)
ScrollPane
的最小大小是insets的大小加上视口的最小大小,加上scrollpane的viewportBorder insets,加上可见标题的最小大小,加上displayPolicy不是NEVER的滚动条的最小大小。Dimension
preferredLayoutSize(Container parent)
ScrollPane
的首选大小是插图的大小,加上视口的首选大小,加上可见标题的首选大小,以及在给定当前视图和当前滚动条displayPolicies时显示的滚动条的首选大小。void
removeLayoutComponent(Component c)
从布局中删除指定的组件。void
setHorizontalScrollBarPolicy(int x)
设置水平滚动条显示策略。void
setVerticalScrollBarPolicy(int x)
设置垂直滚动条显示策略。void
syncWithScrollPane(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
的行标题并使其可见。 - 如果需要水平滚动条,则将其视为列标题(请参阅上面有关垂直滚动条的段落)。
- 如果滚动窗格具有非
null
viewportBorder
,则为其分配空间。 - 在考虑先前的约束之后,视口获取可用空间。
- 角落组件(如果提供)与滚动条和标题的末端对齐。 如果有垂直滚动条,则出现右角; 如果有水平滚动条,则出现下角; 行标题左下角,列标题获取上角。
- Specified by:
-
layoutContainer
在界面LayoutManager
- 参数
-
parent
-Container
布局
-
getViewportBorderBounds
@Deprecatedpublic Rectangle getViewportBorderBounds(JScrollPane scrollpane)
Deprecated.As of JDK version Swing1.1 replaced byJScrollPane.getViewportBorderBounds()
.返回指定滚动窗格视口周围边框的边界。- 参数
-
scrollpane
-的实例JScrollPane
- 结果
- 视口边框的大小和位置
-
-