public class ScrollPaneLayout extends Object implements LayoutManager, ScrollPaneConstants, Serializable
JScrollPane
使用的布局管理器。
JScrollPaneLayout
负责九个组件:视口,两个滚动条,行标题,列标题和四个“角”组件。
警告:此类的序列化对象与将来的Swing版本不兼容。 当前的序列化支持适用于运行相同版本的Swing的应用程序之间的短期存储或RMI。 从1.4版本开始,支持所有JavaBeans的长期存储已添加到java.beans
软件包中。 请参阅XMLEncoder
。
JScrollPane
, JViewport
Modifier and Type | Class and Description |
---|---|
static class |
ScrollPaneLayout.UIResource
UI资源版本为
ScrollPaneLayout 。
|
Modifier and Type | Field and Description |
---|---|
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
垂直滚动条的显示策略。
|
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 and Description |
---|
ScrollPaneLayout() |
Modifier and Type | Method and Description |
---|---|
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 的最小大小是
ScrollPane 大小加视口的最小大小,加上滚动窗口的viewportBorder插入,加上可见标题的最小大小,加上displayPolicy不是永远不会滚动条的最小大小。
|
Dimension |
preferredLayoutSize(Container parent)
一的优选尺寸
ScrollPane 是insets的大小,加上视口的优选大小,加上可见标题的优选大小,再加上它按照给定的当前视图和当前滚动条策略显示滚动条的优选大小。
|
void |
removeLayoutComponent(Component c)
从布局中删除指定的组件。
|
void |
setHorizontalScrollBarPolicy(int x)
设置水平滚动条显示策略。
|
void |
setVerticalScrollBarPolicy(int x)
设置垂直滚动条显示策略。
|
void |
syncWithScrollPane(JScrollPane sp)
将ScrollPaneLayout设置为JScrollPane的
JScrollPane 后调用此方法。
|
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 void syncWithScrollPane(JScrollPane sp)
JScrollPane
后调用此方法。
它初始化通常由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)
addLayoutComponent
在接口
LayoutManager
s
- 组件标识符
c
- 要添加的组件
IllegalArgumentException
- 如果
s
是无效的密钥
public void removeLayoutComponent(Component c)
removeLayoutComponent
在接口
LayoutManager
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
- 提供显示策略的int
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
String
Component
在指定的角落,如ScrollPaneConstants
所定义;
如果key
不是四角之一,则返回null
JScrollPane.getCorner(java.lang.String)
public Dimension preferredLayoutSize(Container parent)
ScrollPane
是insets的大小,加上视口的优选大小,加上可见标题的优选大小,再加上它按照给定的当前视图和当前滚动条策略显示滚动条的优选大小。
请注意,rowHeader是作为首选宽度的一部分计算的,而colHeader是作为首选大小的一部分计算的。
preferredLayoutSize
在接口
LayoutManager
parent
- 将布局的
Container
Dimension
对象,指定视口和任何滚动条的首选大小
ViewportLayout
, LayoutManager
public Dimension minimumLayoutSize(Container parent)
ScrollPane
的最小大小是
ScrollPane
的大小加上视口的最小大小,加上滚动窗口的viewportBorder插入,加上可见标题的最小大小,以及displayPolicy不是永远不会滚动条的最小大小。
minimumLayoutSize
在接口
LayoutManager
parent
- 将布局的
Container
Dimension
最小大小的
Dimension
对象
LayoutManager.preferredLayoutSize(java.awt.Container)
public void layoutContainer(Container parent)
displayPolicy
,则将其视为相对于其维度的行标题,并使其可见。 null
viewportBorder
,则分配空间。 layoutContainer
在接口
LayoutManager
parent
-
Container
布局
@Deprecated public Rectangle getViewportBorderBounds(JScrollPane scrollpane)
JScrollPane.getViewportBorderBounds()
。