java.lang.Object javax.swing.ScrollPaneLayout
public class ScrollPaneLayout
JScrollPane
使用的布局管理器。JScrollPaneLayout
负责管理九个组件:一个视口、两个滚动条、一个行标题、一个列标题和四个“角”组件。
警告:此类的已序列化对象与以后的 Swing 版本不兼容。当前序列化支持适用于短期存储,或适用于在运行相同 Swing 版本的应用程序之间进行 RMI(Remote Method Invocation,远程方法调用)。从 1.4 版本开始,已在 java.beans
包中添加了支持所有 JavaBeansTM 长期存储的功能。请参见 XMLEncoder
。
JScrollPane
,
JViewport
嵌套类摘要 | |
---|---|
static class |
ScrollPaneLayout.UIResource ScrollPaneLayout 的 UI 资源版本。 |
字段摘要 | |
---|---|
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 滚动窗格的子级视口。 |
protected JScrollBar |
vsb 滚动窗格的子级垂直滚动条。 |
protected int |
vsbPolicy 垂直滚动条的显示策略。 |
构造方法摘要 | |
---|---|
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 version Swing1.1 开始,由 JScrollPane.getViewportBorderBounds() 取代。 |
void |
layoutContainer(Container parent) 布置滚动窗格。 |
Dimension |
minimumLayoutSize(Container parent) ScrollPane 的最小大小是 insets 加上视口最小大小,加上可见标题的最小大小,加上 displayPolicy 不为 NEVER 的滚动条的最小大小。 |
Dimension |
preferredLayoutSize(Container parent) ScrollPane 的首选大小是 insets 的大小加上视口的首选大小、可见标题首选大小以及滚动条的首选大小,它按照给定的当前视图和当前滚动条策略显示。 |
void |
removeLayoutComponent(Component c) 从布局中移除指定的组件。 |
void |
setHorizontalScrollBarPolicy(int x) 设置水平滚动条显示策略。 |
void |
setVerticalScrollBarPolicy(int x) 设置垂直滚动条的显示策略。 |
void |
syncWithScrollPane(JScrollPane sp) 在 ScrollPaneLayout 被设置为 JScrollPane 的 LayoutManager 后,此方法被调用。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段详细信息 |
---|
protected JViewport viewport
JViewport
。
protected JScrollBar vsb
JScrollBar
。
protected JScrollBar hsb
JScrollBar
。
protected JViewport rowHead
null
。
protected JViewport colHead
null
。
protected Component lowerLeft
null
。
protected Component lowerRight
null
。
protected Component upperLeft
null
。
protected Component upperRight
null
。
protected int vsbPolicy
ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED
。
该字段已废弃,请用 JScrollPane
字段代替。
protected int hsbPolicy
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED
。
该字段已废弃,请用 JScrollPane
字段代替。
构造方法详细信息 |
---|
public ScrollPaneLayout()
方法详细信息 |
---|
public void syncWithScrollPane(JScrollPane sp)
JScrollPane
的 LayoutManager 后,此方法被调用。它将初始化通常由
addLayoutComponent
设置的所有内部字段。例如:
ScrollPaneLayout mySPLayout = new ScrollPanelLayout() { public void layoutContainer(Container p) { super.layoutContainer(p); // do some extra work here ... } }; scrollpane.setLayout(mySPLayout):
protected Component addSingletonComponent(Component oldC, Component newC)
该方法返回 newC
。如果 oldC
不等于 newC
并且不为 null
,它将从其父级移除。
oldC
- 要替换的
Component
newC
- 要添加的
Component
newC
public void addLayoutComponent(String s, Component c)
LayoutManager
中的
addLayoutComponent
s
- 组件标识符
c
- 要添加的组件
IllegalArgumentException
- 如果
s
为无效关键字
public void removeLayoutComponent(Component c)
LayoutManager
中的
removeLayoutComponent
c
- 要移除的组件
public int getVerticalScrollBarPolicy()
setVerticalScrollBarPolicy(int)
public void setVerticalScrollBarPolicy(int x)
JScrollPane
版本。它仅用于此类的 Swing 1.0.2(及更早)版本向后兼容。
x
- 一个提供显示策略的整数
IllegalArgumentException
- 如果
x
为上面列出的无效垂直滚动条策略
public int getHorizontalScrollBarPolicy()
setHorizontalScrollBarPolicy(int)
public void setHorizontalScrollBarPolicy(int x)
JScrollPane
版本。它仅用于此类的 Swing 1.0.2(及更早)版本向后兼容。
x
- 一个提供显示策略的整数
IllegalArgumentException
- 如果
x
为上面列出的无效水平滚动条策略
public JViewport getViewport()
JViewport
对象。
JViewport
对象
JScrollPane.getViewport()
public JScrollBar getHorizontalScrollBar()
JScrollBar
对象。
JScrollBar
对象
JScrollPane.getHorizontalScrollBar()
public JScrollBar getVerticalScrollBar()
JScrollBar
对象。
JScrollBar
对象
JScrollPane.getVerticalScrollBar()
public JViewport getRowHeader()
JViewport
对象。
JViewport
对象
JScrollPane.getRowHeader()
public JViewport getColumnHeader()
JViewport
对象。
JViewport
对象
JScrollPane.getColumnHeader()
public Component getCorner(String key)
Component
。
key
- 用于指定角的
String
Component
,在
ScrollPaneConstants
中的定义;如果
key
不是四个角之一,则返回
null
JScrollPane.getCorner(java.lang.String)
public Dimension preferredLayoutSize(Container parent)
ScrollPane
的首选大小是 insets 的大小加上视口的首选大小、可见标题首选大小以及滚动条的首选大小,它按照给定的当前视图和当前滚动条策略显示。
注意,rowHeader 是作为 width 首选大小的一部分计算的,colHeader 是作为首选大小的一部分计算的。
LayoutManager
中的
preferredLayoutSize
parent
- 将被布置的
Container
Dimension
对象
ViewportLayout
,
LayoutManager
public Dimension minimumLayoutSize(Container parent)
ScrollPane
的最小大小是 insets 加上视口最小大小,加上可见标题的最小大小,加上 displayPolicy 不为 NEVER 的滚动条的最小大小。
LayoutManager
中的
minimumLayoutSize
parent
- 将被布置的
Container
Dimension
对象
public void layoutContainer(Container parent)
displayPolicy
为 ALWAYS,在维度方面它将被视作行标题并且可见。 null
viewportBorder
,将为其分配空间。
LayoutManager
中的
layoutContainer
parent
- 要布置的
Container
@Deprecated public Rectangle getViewportBorderBounds(JScrollPane scrollpane)
JScrollPane.getViewportBorderBounds()
取代。