JavaTM Platform
Standard Ed. 6

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 对象,可用 setRowHeaderViewsetColumnHeaderView 指定。列标题视口自动左右滚动,跟踪主视口的左右滚动。(但是它不会垂直滚动。)行标题的滚动方式与此类似。

在两个滚动条的交汇处、行标题与列标题的交汇处,或者滚动条与其中一个标题的交汇处,两个组件在很接近角的地方停止,留下一个默认情况下为空的矩形空间。四个角都有可能存在这些空间。在上图中,右上角存在该空间,由标签“角组件”标识。

可使用 setCorner 方法替换许多的这些空白空间,以便将组件添加到一个特定角。(注:相同的组件不能添加到多个角。)如果想要为滚动窗格增加一些额外的装饰或功能,那么此方法很有用。每个角组件的大小都完全由标题和/或包围它的滚动条的大小确定。

只有角组件存在于其中的角中有空白空间时该角组件才是可见的。例如,设想一个设置在滚动窗格(带有列标题)右上角的组件。如果滚动窗格的垂直滚动条不存在(可能因为视图组件尚未大到需要它的地步),那么该角组件将不会显示(因为标题和垂直滚动条的交汇点所创建的角中没有空白空间)。要强制使滚动条始终显示,可使用 setVerticalScrollBarPolicy(VERTICAL_SCROLLBAR_ALWAYS) 确保该角组件的空间始终存在。

要围绕主视口添加一个边界,可使用 setViewportBorder。(当然,也可以使用 setBorder 围绕整个滚动窗格添加一个边界。)

应该执行的一个常见操作是设置背景颜色,此颜色可在主视口小于视口或透明时使用。使用 scrollPane.getViewport().setBackground() 设置视口的背景色可实现此目的。设置视口而不是滚动窗格的颜色的原因是,默认情况下,JViewport 为不透明,还有一些其他属性,这意味着它将用其背景色完全填充背景。因此当 JScrollPane 绘制其背景时,视口通常将在它上面绘制。

默认情况下,JScrollPane 使用 ScrollPaneLayout 处理其子组件的布局。ScrollPaneLayout 使用以下两个方法之一确定视口视图的大小:

  1. 如果视图实现了 Scrollable,将使用 getPreferredScrollableViewportSizegetScrollableTracksViewportWidthgetScrollableTracksViewportHeight 的组合,否则使用
  2. getPreferredSize

警告:Swing 不是线程安全的。有关更多信息,请参阅 Swing's Threading Policy

警告:此类的序列化对象与以后的 Swing 版本不兼容。当前序列化支持适用于短期存储,或适用于在运行相同 Swing 版本的应用程序之间进行 RMI(Remote Method Invocation,远程方法调用)。从 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.BaselineResizeBehavior, 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
 
从接口 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
 
从接口 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,如果有的话;如果新的 columnHeader 不为 null,将其 viewPosition 的 x 坐标与视口(如果有)同步然后将其添加到滚动窗格。
 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,如果存在;如果新的 rowHeader 不为 null,将其 viewPosition 的 y 坐标与视口(如果有)同步然后将其添加到滚动窗格。
 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 对象。
 
从类 javax.swing.JComponent 继承的方法
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
从类 java.awt.Container 继承的方法
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
从类 java.awt.Component 继承的方法
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

字段详细信息

verticalScrollBarPolicy

protected int verticalScrollBarPolicy
用于垂直滚动条的显示策略。默认为 ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED

另请参见:
setVerticalScrollBarPolicy(int)

horizontalScrollBarPolicy

protected int horizontalScrollBarPolicy
用于水平滚动条的显示策略。默认为 ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED

另请参见:
setHorizontalScrollBarPolicy(int)

viewport

protected JViewport viewport
滚动窗格的视口子级。默认为一个空的 JViewport

另请参见:
setViewport(javax.swing.JViewport)

verticalScrollBar

protected JScrollBar verticalScrollBar
滚动窗格的垂直滚动条子级。默认为 JScrollBar

另请参见:
setVerticalScrollBar(javax.swing.JScrollBar)

horizontalScrollBar

protected JScrollBar horizontalScrollBar
滚动窗格的水平滚动条子级。默认为 JScrollBar

另请参见:
setHorizontalScrollBar(javax.swing.JScrollBar)

rowHeader

protected JViewport rowHeader
行标题子级。默认为 null

另请参见:
setRowHeader(javax.swing.JViewport)

columnHeader

protected JViewport columnHeader
列标题子级。默认为 null

另请参见:
setColumnHeader(javax.swing.JViewport)

lowerLeft

protected Component lowerLeft
在左下角显示的组件。默认为 null

另请参见:
setCorner(java.lang.String, java.awt.Component)

lowerRight

protected Component lowerRight
在右下角显示的组件。默认为 null

另请参见:
setCorner(java.lang.String, java.awt.Component)

upperLeft

protected Component upperLeft
在左上角显示的组件。默认为 null

另请参见:
setCorner(java.lang.String, java.awt.Component)

upperRight

protected Component upperRight
在右上角显示的组件。默认为 null

另请参见:
setCorner(java.lang.String, java.awt.Component)
构造方法详细信息

JScrollPane

public JScrollPane(Component view,
                   int vsbPolicy,
                   int hsbPolicy)
创建一个 JScrollPane,它将视图组件显示在一个视口中,视图位置可使用一对滚动条控制。滚动条策略指定滚动条在何时显示,例如,如果 vsbPolicyVERTICAL_SCROLLBAR_AS_NEEDED,则只有在垂直查看无法完全显示时,垂直滚动条才显示。可用的策略设定在 setVerticalScrollBarPolicy(int)setHorizontalScrollBarPolicy(int) 中列出。

参数:
view - 将显示在滚动窗格视口中的组件
vsbPolicy - 指定垂直滚动条策略的一个整数
hsbPolicy - 指定水平滚动条策略的一个整数
另请参见:
setViewportView(java.awt.Component)

JScrollPane

public JScrollPane(Component view)
创建一个显示指定组件内容的 JScrollPane,只要组件的内容超过视图大小就会显示水平和垂直滚动条。

参数:
view - 将显示在滚动窗格视口中的组件
另请参见:
setViewportView(java.awt.Component)

JScrollPane

public JScrollPane(int vsbPolicy,
                   int hsbPolicy)
创建一个具有指定滚动条策略的空(无视口的视图)JScrollPane。可用的策略设定在 setVerticalScrollBarPolicy(int)setHorizontalScrollBarPolicy(int) 中列出。

参数:
vsbPolicy - 指定垂直滚动条策略的一个整数
hsbPolicy - 指定水平滚动条策略的一个整数
另请参见:
setViewportView(java.awt.Component)

JScrollPane

public JScrollPane()
创建一个空的(无视口的视图)JScrollPane,需要时水平和垂直滚动条都可显示。

方法详细信息

getUI

public ScrollPaneUI getUI()
返回呈现此组件的外观 (L&F) 对象。

返回:
呈现此组件的 ScrollPaneUI 对象
另请参见:
setUI(javax.swing.plaf.ScrollPaneUI)

setUI

public void setUI(ScrollPaneUI ui)
设置 ScrollPaneUI 对象,它为此组件提供外观 (L&F)。

参数:
ui - ScrollPaneUI L&F 对象
另请参见:
getUI()

updateUI

public void updateUI()
用一个来自当前默认外观的 ScrollPaneUI 替换当前的 ScrollPaneUI 对象。在默认的外观更改时将被调用。

覆盖:
JComponent 中的 updateUI
另请参见:
JComponent.updateUI(), UIManager.getUI(javax.swing.JComponent)

getUIClassID

public String getUIClassID()
返回用于构造呈现此组件时所用 L&F 类的名称的后缀。

覆盖:
JComponent 中的 getUIClassID
返回:
字符串 "ScrollPaneUI"
另请参见:
JComponent.getUIClassID(), UIDefaults.getUI(javax.swing.JComponent)

setLayout

public void setLayout(LayoutManager layout)
设置此 JScrollPane 的布局管理器。此方法重写 java.awt.Container 中的 setLayout,这样可确保只有属于 ScrollPaneLayout 的子类的 LayoutManager 才能在 JScrollPane 中使用。如果 layout 为非 null,将在其上调用 syncWithScrollPane

覆盖:
Container 中的 setLayout
参数:
layout - 指定的布局管理器
抛出:
ClassCastException - 如果布局不是 ScrollPaneLayout
另请参见:
Container.getLayout(), Container.setLayout(java.awt.LayoutManager)

isValidateRoot

public boolean isValidateRoot()
重写以返回 true,这样任何在此 JScrollPane 的任何后代上对 revalidate 的调用将使从此 JScrollPane 开始的整个树接受验证。

覆盖:
JComponent 中的 isValidateRoot
返回:
true
另请参见:
Container.validate(), JComponent.revalidate(), JComponent.isValidateRoot()

getVerticalScrollBarPolicy

public int getVerticalScrollBarPolicy()
返回垂直滚动条策略值。

返回:
verticalScrollBarPolicy 属性
另请参见:
setVerticalScrollBarPolicy(int)

setVerticalScrollBarPolicy

public void setVerticalScrollBarPolicy(int policy)
确定垂直滚动条何时显示在滚动窗格上。合法值是:

参数:
policy - 以上列出的三个值之一
抛出:
IllegalArgumentException - 如果 policy 不是以上列出的合法值之一
另请参见:
getVerticalScrollBarPolicy()

getHorizontalScrollBarPolicy

public int getHorizontalScrollBarPolicy()
返回水平滚动条策略值。

返回:
horizontalScrollBarPolicy 属性
另请参见:
setHorizontalScrollBarPolicy(int)

setHorizontalScrollBarPolicy

public void setHorizontalScrollBarPolicy(int policy)
确定水平滚动条何时显示在滚动窗格上。选项有:

参数:
policy - 以上列出的三个值之一
抛出:
IllegalArgumentException - 如果 policy 不是以上列出的合法值之一
另请参见:
getHorizontalScrollBarPolicy()

getViewportBorder

public Border getViewportBorder()
返回围绕该视口的 Border 对象。

返回:
viewportBorder 属性
另请参见:
setViewportBorder(javax.swing.border.Border)

setViewportBorder

public void setViewportBorder(Border viewportBorder)
围绕视口添加一个边界。注意,边界并不是直接设置在视口上,JViewport 不支持 JComponent 边界属性。同样,设置 JScrollPane 的视口并不影响 viewportBorder 属性。

此属性的默认值由外观实现计算。

参数:
viewportBorder - 要添加的边界
另请参见:
getViewportBorder(), setViewport(javax.swing.JViewport)

getViewportBorderBounds

public Rectangle getViewportBorderBounds()
返回视口边界的范围。

返回:
一个指定该视口边界的 Rectangle 对象

createHorizontalScrollBar

public JScrollBar createHorizontalScrollBar()
默认返回 JScrollPane.ScrollBar。子类可以重写此方法来强制 ScrollPaneUI 实现使用 JScrollBar 子类。ScrollPaneUI 实现用它来创建水平滚动条。

返回:
水平方向的 JScrollBar
另请参见:
JScrollBar

getHorizontalScrollBar

public JScrollBar getHorizontalScrollBar()
返回控制视口的水平视图位置的水平滚动条。

返回:
horizontalScrollBar 属性
另请参见:
setHorizontalScrollBar(javax.swing.JScrollBar)

setHorizontalScrollBar

public void setHorizontalScrollBar(JScrollBar horizontalScrollBar)
将控制视口水平视图位置的水平滚动条添加到滚动窗格中。这通常是不必要的,因为 JScrollPane 默认创建水平和垂直滚动条。

参数:
horizontalScrollBar - 要添加的水平滚动条
另请参见:
createHorizontalScrollBar(), getHorizontalScrollBar()

createVerticalScrollBar

public JScrollBar createVerticalScrollBar()
默认返回 JScrollPane.ScrollBar。子类可以重写此方法来强制 ScrollPaneUI 实现使用 JScrollBar 子类。ScrollPaneUI 实现用它来创建垂直滚动条。

返回:
垂直方向的 JScrollBar
另请参见:
JScrollBar

getVerticalScrollBar

public JScrollBar getVerticalScrollBar()
返回控制视口垂直视图位置的垂直滚动条。

返回:
verticalScrollBar 属性
另请参见:
setVerticalScrollBar(javax.swing.JScrollBar)

setVerticalScrollBar

public void setVerticalScrollBar(JScrollBar verticalScrollBar)
将控制视口垂直视图位置的滚动条添加到滚动窗格中。这通常是不必要的,因为 JScrollPane 默认创建垂直和水平滚动条。

参数:
verticalScrollBar - 要添加的新垂直滚动条
另请参见:
createVerticalScrollBar(), getVerticalScrollBar()

createViewport

protected JViewport createViewport()
默认返回新的 JViewport。在 setViewportViewsetRowHeaderViewsetColumnHeaderView 中使用它来创建视口(需要时)。子类可重写此方法来返回 JViewport 的一个子类。

返回:
新的 JViewport

getViewport

public JViewport getViewport()
返回当前的 JViewport

返回:
viewport 属性
另请参见:
setViewport(javax.swing.JViewport)

setViewport

public void setViewport(JViewport viewport)
移除旧视口(如果有);强制新视口的 viewPosition 位于 +x,+y 象限中;将行和列标题(如果有)与新视口同步;最后将滚动条和标题与新视口同步。

在大多数应用程序中,使用 setViewportView 将视口和视图添加到滚动窗格更为方便。

参数:
viewport - 要使用的新视口;如果视口为 null,将依旧移除旧视口并将新视口设置为 null
另请参见:
createViewport(), getViewport(), setViewportView(java.awt.Component)

setViewportView

public void setViewportView(Component view)
创建一个视口(如果有必要)并设置其视图。不直接为 JScrollPane 构造方法提供视图的应用程序应使用此方法指定将显示在滚动窗格中的滚动组件子级。例如:
 JScrollPane scrollpane = new JScrollPane();
 scrollpane.setViewportView(myBigComponentToScroll);
 
应用程序不应将子级直接添加到滚动窗格。

参数:
view - 要添加到视口的组件
另请参见:
setViewport(javax.swing.JViewport), JViewport.setView(java.awt.Component)

getRowHeader

public JViewport getRowHeader()
返回行标题。

返回:
rowHeader 属性
另请参见:
setRowHeader(javax.swing.JViewport)

setRowHeader

public void setRowHeader(JViewport rowHeader)
移除旧的 rowHeader,如果存在;如果新的 rowHeader 不为 null,将其 viewPosition 的 y 坐标与视口(如果有)同步然后将其添加到滚动窗格。

在大多数应用程序中,使用 setRowHeaderView 将行标题组件及其视口添加到滚动窗格更为方便。

参数:
rowHeader - 要使用的新行标题;如果为 null 将依旧移除旧行标题并将新行标题设置为 null
另请参见:
getRowHeader(), setRowHeaderView(java.awt.Component)

setRowHeaderView

public void setRowHeaderView(Component view)
创建一个行标题视口(如果有必要),设置其视图然后将此行标题视口添加到滚动窗格。例如:
 JScrollPane scrollpane = new JScrollPane();
 scrollpane.setViewportView(myBigComponentToScroll);
 scrollpane.setRowHeaderView(myBigComponentsRowHeader);
 

参数:
view - 将作为行标题显示的组件
另请参见:
setRowHeader(javax.swing.JViewport), JViewport.setView(java.awt.Component)

getColumnHeader

public JViewport getColumnHeader()
返回列标题。

返回:
columnHeader 属性
另请参见:
setColumnHeader(javax.swing.JViewport)

setColumnHeader

public void setColumnHeader(JViewport columnHeader)
移除旧的 columnHeader,如果有的话;如果新的 columnHeader 不为 null,将其 viewPosition 的 x 坐标与视口(如果有)同步然后将其添加到滚动窗格。

在大多数应用程序中,使用 setColumnHeaderView 将列标题组件及其视口添加到滚动窗格更为方便。

另请参见:
getColumnHeader(), setColumnHeaderView(java.awt.Component)

setColumnHeaderView

public void setColumnHeaderView(Component view)
创建一个列标题视口(如果有必要),设置其视图然后将此列标题视口添加到滚动窗格。例如:
 JScrollPane scrollpane = new JScrollPane();
 scrollpane.setViewportView(myBigComponentToScroll);
 scrollpane.setColumnHeaderView(myBigComponentsColumnHeader);
 

参数:
view - 将作为列标题显示的组件
另请参见:
setColumnHeader(javax.swing.JViewport), JViewport.setView(java.awt.Component)

getCorner

public Component getCorner(String key)
返回位于指定角的组件。指定角的 key 值为下列之一:

参数:
key - 如上所示的值之一
返回:
给定键所标识的角组件(可以为 null);如果该键无效,则返回 null
另请参见:
setCorner(java.lang.String, java.awt.Component)

setCorner

public void setCorner(String key,
                      Component corner)
添加一个将显示在一个滚动窗格角中的子级,如果有空间的话。例如,两个滚动条的显示中(在滚动窗格的右边缘和下边缘),左下角组件将显示在两个滚动条两头之间的空间中。key 的合法值有:

尽管 "corner" 不与任何 beans 属性签名匹配,生成的 PropertyChange 事件还是将此属性名设置为 corner key。

参数:
key - 标识组件将显示的角
corner - 下列组件之一:
  • lowerLeft
  • lowerRight
  • upperLeft
  • upperRight
抛出:
IllegalArgumentException - 如果 corner key 无效

setComponentOrientation

public void setComponentOrientation(ComponentOrientation co)
设置由 ComponentOrientation 参数确定的垂直和水平滚动条方向。

覆盖:
Component 中的 setComponentOrientation
参数:
co - 以下值之一:
  • java.awt.ComponentOrientation.LEFT_TO_RIGHT
  • java.awt.ComponentOrientation.RIGHT_TO_LEFT
  • java.awt.ComponentOrientation.UNKNOWN
另请参见:
ComponentOrientation

isWheelScrollingEnabled

public boolean isWheelScrollingEnabled()
指示是否进行滚动以响应鼠标滚轮。默认情况下启用滚轮滚动。

从以下版本开始:
1.4
另请参见:
setWheelScrollingEnabled(boolean)

setWheelScrollingEnabled

public void setWheelScrollingEnabled(boolean handleWheel)
启用/禁用对鼠标滚轮滚动的移动响应。默认情况下启用滚轮滚动。

参数:
handleWheel - 如果为 MouseWheelEvent 自动完成滚动,则为 true;否则为 false
从以下版本开始:
1.4
另请参见:
isWheelScrollingEnabled(), MouseWheelEvent, MouseWheelListener

paramString

protected String paramString()
返回此 JScrollPane 的字符串表示形式。此方法仅在进行调试的时候使用,对于各个实现,所返回字符串的内容和格式可能有所不同。返回的字符串可能为空,但不可能为 null

覆盖:
JComponent 中的 paramString
返回:
JScrollPane 的字符串表示形式。

getAccessibleContext

public AccessibleContext getAccessibleContext()
获取与此 JScrollPane 相关联的 AccessibleContext。对于滚动窗格,AccessibleContext 采用的是 AccessibleJScrollPane 的形式。必要时创建一个新的 AccessibleJScrollPane 实例。

指定者:
接口 Accessible 中的 getAccessibleContext
覆盖:
JComponent 中的 getAccessibleContext
返回:
一个 AccessibleJScrollPane,它充当此 JScrollPane 的 AccessibleContext

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策