|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
javax.swing
类 JScrollPane
java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent javax.swing.JScrollPane
- 所有已实现的接口:
- ImageObserver, MenuContainer, Serializable, Accessible, ScrollPaneConstants
-
public class JScrollPane
- extends JComponent
- implements ScrollPaneConstants, Accessible
提供轻量级组件的 scrollable 视图。JScrollPane
管理视口、可选的垂直和水平滚动条以及可选的行和列标题视口。有关 JScrollPane
的面向任务的文档,请参阅《The Java Tutorial》中的 How to Use Scroll Panes 一节。注意,JScrollPane
不支持重量级组件。
JViewport
为数据源提供一个窗口或“视口”,例如,一个文本文件。数据源为由 JViewport
视图显示的“scrollable 客户端”(即数据模型)。JScrollPane
基本上由 JScrollBar
、一个 JViewport
以及它们之间的连线组成,如右图所示。
除了滚动条和视口之外,JScrollPane
也可以有一个列标题和一个行标题。这二者都是 JViewport
对象,可用 setRowHeaderView
和 setColumnHeaderView
指定。列标题视口自动左右滚动,跟踪主视口的左右滚动。(但是它不会垂直滚动。)行标题的滚动方式与此类似。
默认情况下,角为空。如果需要为滚动窗格增加一些功能或装饰,可使用 setCorner
将组件放入一个角中。角组件的大小完全由标题和包围它们的滚动条的大小确定。
要围绕主视口添加一个边界,可使用 setViewportBorder
。(当然,也可以使用 setBorder
围绕整个滚动窗格添加一个边界。)
应该执行的一个常见操作是设置背景颜色,此颜色可在主视口小于视口或透明时使用。使用 scrollPane.getViewport().setBackground()
设置视口的背景色可实现此目的。设置视口而不是滚动窗格的颜色的原因是,默认情况下,JViewport
为不透明,还有一些其他属性,这意味着它将用其背景色完全填充背景。因此当 JScrollPane
绘制其背景时,视口通常将在它上面绘制。
默认情况下,JScrollPane
使用 ScrollPaneLayout
处理其子组件的布局。ScrollPaneLayout
使用以下两个方法之一确定视口视图的大小:
- 如果视图实现了
Scrollable
,将使用getPreferredScrollableViewportSize
、getScrollableTracksViewportWidth
和getScrollableTracksViewportHeight
的组合,否则使用 getPreferredSize
。
警告:此类的序列化对象将与以后的 Swing 版本不兼容。当前的序列化支持适用于短期存储或运行相同 Swing 版本的应用程序之间的 RMI。从 1.4 版本开始,已在 java.beans
包中添加了支持所有 JavaBeansTM 长期存储的功能。请参见 XMLEncoder
。
- 另请参见:
JScrollBar
,JViewport
,ScrollPaneLayout
,Scrollable
,Component.getPreferredSize()
,setViewportView(java.awt.Component)
,setRowHeaderView(java.awt.Component)
,setColumnHeaderView(java.awt.Component)
,setCorner(java.lang.String, java.awt.Component)
,setViewportBorder(javax.swing.border.Border)
嵌套类摘要 | |
---|---|
protected class |
JScrollPane.AccessibleJScrollPane 此类实现 JScrollPane 类的可访问性支持。 |
protected class |
JScrollPane.ScrollBar 默认情况下, JScrollPane 创建的滚动条为此类的实例。 |
从类 javax.swing.JComponent 继承的嵌套类/接口 |
---|
JComponent.AccessibleJComponent |
从类 java.awt.Container 继承的嵌套类/接口 |
---|
Container.AccessibleAWTContainer |
从类 java.awt.Component 继承的嵌套类/接口 |
---|
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy |
字段摘要 | |
---|---|
protected JViewport |
columnHeader 列标题子组件。 |
protected JScrollBar |
horizontalScrollBar 滚动窗格的水平滚动条子级。 |
protected int |
horizontalScrollBarPolicy 用于水平滚动条的显示策略。 |
protected Component |
lowerLeft 在左下角显示的组件。 |
protected Component |
lowerRight 组件将显示在右下角。 |
protected JViewport |
rowHeader 行标题子级。 |
protected Component |
upperLeft 组件将显示在左上角。 |
protected Component |
upperRight 组件将显示在右上角。 |
protected JScrollBar |
verticalScrollBar 滚动窗格的垂直滚动条子级。 |
protected int |
verticalScrollBarPolicy 用于垂直滚动条的显示策略。 |
protected JViewport |
viewport 滚动窗格的视口子级。 |
从类 javax.swing.JComponent 继承的字段 |
---|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
从类 java.awt.Component 继承的字段 |
---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
从接口 java.awt.image.ImageObserver 继承的字段 |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
构造方法摘要 | |
---|---|
JScrollPane() 创建一个空的(无视口的视图) JScrollPane ,需要时水平和垂直滚动条都可显示。 |
|
JScrollPane(Component view) 创建一个显示指定组件内容的 JScrollPane ,只要组件的内容超过视图大小就会显示水平和垂直滚动条。 |
|
JScrollPane(Component view, int vsbPolicy, int hsbPolicy) 创建一个 JScrollPane ,它将视图组件显示在一个视口中,视图位置可使用一对滚动条控制。 |
|
JScrollPane(int vsbPolicy, int hsbPolicy) 创建一个具有指定滚动条策略的空(无视口的视图) JScrollPane 。 |
方法摘要 | |
---|---|
JScrollBar |
createHorizontalScrollBar() 默认返回 JScrollPane.ScrollBar 。 |
JScrollBar |
createVerticalScrollBar() 默认返回 JScrollPane.ScrollBar 。 |
protected JViewport |
createViewport() 默认返回新的 JViewport 。 |
AccessibleContext |
getAccessibleContext() 获取与此 JScrollPane 相关联的 AccessibleContext。 |
JViewport |
getColumnHeader() 返回列标题。 |
Component |
getCorner(String key) 返回位于指定角的组件。 |
JScrollBar |
getHorizontalScrollBar() 返回控制视口的水平视图位置的水平滚动条。 |
int |
getHorizontalScrollBarPolicy() 返回水平滚动条策略值。 |
JViewport |
getRowHeader() 返回行标题。 |
ScrollPaneUI |
getUI() 返回绘制此组件的外观 (L&F) 对象。 |
String |
getUIClassID() 返回用于构造呈现此组件时所用 L&F 类的名称的后缀。 |
JScrollBar |
getVerticalScrollBar() 返回控制视口垂直视图位置的垂直滚动条。 |
int |
getVerticalScrollBarPolicy() 返回垂直滚动条策略值。 |
JViewport |
getViewport() 返回当前的 JViewport 。 |
Border |
getViewportBorder() 返回围绕该视口的 Border 对象。 |
Rectangle |
getViewportBorderBounds() 返回视口边界的范围。 |
boolean |
isValidateRoot() 重写以返回 true,这样任何在此 JScrollPane 的任何后代上对 revalidate 的调用将使从此 JScrollPane 开始的整个树接受验证。 |
boolean |
isWheelScrollingEnabled() 指示是否进行滚动以响应鼠标滚轮。 |
protected String |
paramString() 返回此 JScrollPane 的字符串表示形式。 |
void |
setColumnHeader(JViewport columnHeader) 移除旧的 columnHeader,如果有的话。 |
void |
setColumnHeaderView(Component view) 创建一个列标题视口(如果有必要),设置其视图然后将此列标题视口添加到滚动窗格。 |
void |
setComponentOrientation(ComponentOrientation co) 设置由 ComponentOrientation 参数确定的垂直或水平滚动条方向。 |
void |
setCorner(String key, Component corner) 添加一个将显示在一个滚动窗格角中的子级,如果有空间的话。 |
void |
setHorizontalScrollBar(JScrollBar horizontalScrollBar) 将控制视口水平视图位置的水平滚动条添加到滚动窗格中。 |
void |
setHorizontalScrollBarPolicy(int policy) 确定水平滚动条何时显示在滚动窗格上。 |
void |
setLayout(LayoutManager layout) 设置此 JScrollPane 的布局管理器。 |
void |
setRowHeader(JViewport rowHeader) 移除旧的 rowHeader,如果有的话。 |
void |
setRowHeaderView(Component view) 创建一个行标题视口(如果有必要),设置其视图然后将此行标题视口添加到滚动窗格。 |
void |
setUI(ScrollPaneUI ui) 设置 ScrollPaneUI 对象,它为此组件提供外观 (L&F)。 |
void |
setVerticalScrollBar(JScrollBar verticalScrollBar) 将控制视口垂直视图位置的滚动条添加到滚动窗格中。 |
void |
setVerticalScrollBarPolicy(int policy) 确定垂直滚动条何时显示在滚动窗格上。 |
void |
setViewport(JViewport viewport) 移除旧视口(如果有);强制新视口的 viewPosition 位于 +x,+y 象限中;将行和列标题(如果有)与新视口同步;最后将滚动条和标题与新视口同步。 |
void |
setViewportBorder(Border viewportBorder) 围绕视口添加一个边界。 |
void |
setViewportView(Component view) 创建一个视口(如果有必要)并设置其视图。 |
void |
setWheelScrollingEnabled(boolean handleWheel) 启用/禁用对鼠标滚轮滚动的移动响应。 |
void |
updateUI() 用一个来自当前默认外观的 ScrollPaneUI 替换当前的 ScrollPaneUI 对象。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
字段详细信息 |
---|
verticalScrollBarPolicy
protected int verticalScrollBarPolicy
-
用于垂直滚动条的显示策略。默认为
ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED
。
horizontalScrollBarPolicy
protected int horizontalScrollBarPolicy
-
用于水平滚动条的显示策略。默认为
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED
。
viewport
protected JViewport viewport
-
滚动窗格的视口子级。默认为一个空的
JViewport
。
verticalScrollBar
protected JScrollBar verticalScrollBar
-
滚动窗格的垂直滚动条子级。默认为
JScrollBar
。
horizontalScrollBar
protected JScrollBar horizontalScrollBar
-
滚动窗格的水平滚动条子级。默认为
JScrollBar
。
rowHeader
protected JViewport rowHeader
-
行标题子级。默认为
null
。
columnHeader
protected JViewport columnHeader
-
列标题子组件。默认为
null
。