所有类


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 将组件放入一个角中。角组件的大小完全由标题和包围它们的滚动条的大小确定。

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

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

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

  1. 如果视图实现了 Scrollable,将使用 getPreferredScrollableViewportSizegetScrollableTracksViewportWidthgetScrollableTracksViewportHeight 的组合,否则使用
  2. 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  classJScrollPane.AccessibleJScrollPane
          此类实现 JScrollPane 类的可访问性支持。
protected  classJScrollPane.ScrollBar
          默认情况下,JScrollPane 创建的滚动条为此类的实例。
 
从类 javax.swing.JComponent 继承的嵌套类/接口
JComponent.AccessibleJComponent
 
从类 java.awt.Container 继承的嵌套类/接口
Container.AccessibleAWTContainer
 
从类 java.awt.Component 继承的嵌套类/接口
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
字段摘要
protected  JViewportcolumnHeader
          列标题子组件。
protected  JScrollBarhorizontalScrollBar
          滚动窗格的水平滚动条子级。
protected  inthorizontalScrollBarPolicy
          用于水平滚动条的显示策略。
protected  ComponentlowerLeft
          在左下角显示的组件。
protected  ComponentlowerRight
          组件将显示在右下角。
protected  JViewportrowHeader
          行标题子级。
protected  ComponentupperLeft
          组件将显示在左上角。
protected  ComponentupperRight
          组件将显示在右上角。
protected  JScrollBarverticalScrollBar
          滚动窗格的垂直滚动条子级。
protected  intverticalScrollBarPolicy
          用于垂直滚动条的显示策略。
protected  JViewportviewport
          滚动窗格的视口子级。
 
从类 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
 
方法摘要
 JScrollBarcreateHorizontalScrollBar()
          默认返回 JScrollPane.ScrollBar
 JScrollBarcreateVerticalScrollBar()
          默认返回 JScrollPane.ScrollBar
protected  JViewportcreateViewport()
          默认返回新的 JViewport
 AccessibleContextgetAccessibleContext()
          获取与此 JScrollPane 相关联的 AccessibleContext。
 JViewportgetColumnHeader()
          返回列标题。
 ComponentgetCorner(String key)
          返回位于指定角的组件。
 JScrollBargetHorizontalScrollBar()
          返回控制视口的水平视图位置的水平滚动条。
 intgetHorizontalScrollBarPolicy()
          返回水平滚动条策略值。
 JViewportgetRowHeader()
          返回行标题。
 ScrollPaneUIgetUI()
          返回绘制此组件的外观 (L&F) 对象。
 StringgetUIClassID()
          返回用于构造呈现此组件时所用 L&F 类的名称的后缀。
 JScrollBargetVerticalScrollBar()
          返回控制视口垂直视图位置的垂直滚动条。
 intgetVerticalScrollBarPolicy()
          返回垂直滚动条策略值。
 JViewportgetViewport()
          返回当前的 JViewport
 BordergetViewportBorder()
          返回围绕该视口的 Border 对象。
 RectanglegetViewportBorderBounds()
          返回视口边界的范围。
 booleanisValidateRoot()
          重写以返回 true,这样任何在此 JScrollPane 的任何后代上对 revalidate 的调用将使从此 JScrollPane 开始的整个树接受验证。
 booleanisWheelScrollingEnabled()
          指示是否进行滚动以响应鼠标滚轮。
protected  StringparamString()
          返回此 JScrollPane 的字符串表示形式。
 voidsetColumnHeader(JViewport columnHeader)
          移除旧的 columnHeader,如果有的话。
 voidsetColumnHeaderView(Component view)
          创建一个列标题视口(如果有必要),设置其视图然后将此列标题视口添加到滚动窗格。
 voidsetComponentOrientation(ComponentOrientation co)
          设置由 ComponentOrientation 参数确定的垂直或水平滚动条方向。
 voidsetCorner(String key, Component corner)
          添加一个将显示在一个滚动窗格角中的子级,如果有空间的话。
 voidsetHorizontalScrollBar(JScrollBar horizontalScrollBar)
          将控制视口水平视图位置的水平滚动条添加到滚动窗格中。
 voidsetHorizontalScrollBarPolicy(int policy)
          确定水平滚动条何时显示在滚动窗格上。
 voidsetLayout(LayoutManager layout)
          设置此 JScrollPane 的布局管理器。
 voidsetRowHeader(JViewport rowHeader)
          移除旧的 rowHeader,如果有的话。
 voidsetRowHeaderView(Component view)
          创建一个行标题视口(如果有必要),设置其视图然后将此行标题视口添加到滚动窗格。
 voidsetUI(ScrollPaneUI ui)
          设置 ScrollPaneUI 对象,它为此组件提供外观 (L&F)。
 voidsetVerticalScrollBar(JScrollBar verticalScrollBar)
          将控制视口垂直视图位置的滚动条添加到滚动窗格中。
 voidsetVerticalScrollBarPolicy(int policy)
          确定垂直滚动条何时显示在滚动窗格上。
 voidsetViewport(JViewport viewport)
          移除旧视口(如果有);强制新视口的 viewPosition 位于 +x,+y 象限中;将行和列标题(如果有)与新视口同步;最后将滚动条和标题与新视口同步。
 voidsetViewportBorder(Border viewportBorder)
          围绕视口添加一个边界。
 voidsetViewportView(Component view)
          创建一个视口(如果有必要)并设置其视图。
 voidsetWheelScrollingEnabled(boolean handleWheel)
          启用/禁用对鼠标滚轮滚动的移动响应。
 voidupdateUI()
          用一个来自当前默认外观的 ScrollPaneUI 替换当前的 ScrollPaneUI 对象。
 
从类 javax.swing.JComponent 继承的方法
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, 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, 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)