- 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 - 结果
- 视口边框的大小和位置
-
-