- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JScrollPane
-
- All Implemented Interfaces:
-
ImageObserver
,MenuContainer
,Serializable
,Accessible
,ScrollPaneConstants
@JavaBean(defaultProperty="UI", description="A specialized container that manages a viewport, optional scrollbars and headers") public class JScrollPane extends JComponent implements ScrollPaneConstants, Accessible
提供轻量级组件的可滚动视图。 AJScrollPane
管理视口,可选的垂直和水平滚动条以及可选的行和列标题视口。 您可以在JScrollPane
中查找JScrollPane的任务导向文档, 这是Java Tutorial中的一节。 请注意,JScrollPane
不支持重量级组件。 ExampleJViewport
提供一个窗口或“视口”到数据源 - 例如文本文件。 该数据源是由JViewport
视图显示的“可滚动客户端”(也称为数据模型)。 AJScrollPane
基本上由JScrollBar
s,一个JViewport
和它们之间的接线组成,如右图所示。除了滚动条和视口之外,一个
JScrollPane
可以有一个列标题和行标题。 这些都是setRowHeaderView
和setColumnHeaderView
指定的JViewport
对象。 列标题视口自动向左和向右滚动,跟踪主视口的左右滚动。 (它从不垂直滚动。)行标题的行为类似。当两个滚动条相遇时,行标题与列标题相符,或者一个滚动条与其中一个标题相符,这两个组件都停止在拐角处,留下一个矩形空间,默认为空。 这些空间可能存在于任何数量的四个角落。 在上图中,顶部右侧的空格存在并由标签“角部分”标识。
可以使用
setCorner
方法将任意数量的空格替换为特定角落的组件。 (注意:相同的组件不能添加到多个角落。)如果要添加到滚动窗格中有一些额外的装饰或功能,这很有用。 每个角部分的大小完全由其周围的标题和/或滚动条的大小决定。如果该角落中存在空的空间,则该角色组件将仅可见。例如,将组件集合放置在带有列标题的滚动窗格的右上角。 如果滚动窗格的垂直滚动条不存在,也许是因为视图组件没有变得足够大以至于不需要它,那么角色组件将不会被显示(因为标题会议创建的角落中没有空格和垂直滚动条)。 使用
setVerticalScrollBarPolicy(VERTICAL_SCROLLBAR_ALWAYS)
强制滚动条始终显示,将确保角部组件的空间始终存在。要在主视口周围添加边框,可以使用
setViewportBorder
。 (当然,您也可以使用setBorder
在整个滚动窗格中添加边框。)想要做的一个常见的操作是设置在主视口视图小于视口的情况下使用的背景颜色,或者不透明。 这可以通过
scrollPane.getViewport().setBackground()
设置视口的背景颜色来scrollPane.getViewport().setBackground()
。 设置视口而不是滚动窗口的颜色的原因是,默认情况下,JViewport
是不透明的,其中除了别的以外,意味着它将使用其背景颜色完全填充其背景。 因此,当JScrollPane
绘制其背景时,视口通常会绘制它。默认情况下,
JScrollPane
使用ScrollPaneLayout
来处理其子组件的布局。ScrollPaneLayout
通过以下两种方式之一确定使视口视图的大小:- 如果视图实现
Scrollable
的组合getPreferredScrollableViewportSize
,getScrollableTracksViewportWidth
和getScrollableTracksViewportHeight
被使用,否则 -
getPreferredSize
。
警告: Swing不是线程安全的。 有关详细信息,请参阅Swing's Threading Policy 。
警告:此类的序列化对象与将来的Swing版本不兼容。 当前的序列化支持适用于运行相同版本的Swing的应用程序之间的短期存储或RMI。 从1.4版本开始,所有JavaBeans的长期存储支持已被添加到
java.beans
软件包中。 请参阅XMLEncoder
。- 从以下版本开始:
- 1.2
- 另请参见:
-
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)
, Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 protected class
JScrollPane.AccessibleJScrollPane
该类实现JScrollPane
类的可访问性支持。protected class
JScrollPane.ScrollBar
默认情况下,JScrollPane
创建作为此类的实例的滚动条。-
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
-
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field 描述 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
滚动窗口的视口小孩。-
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
Fields inherited from interface 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
-
-
构造方法摘要
构造方法 Constructor 描述 JScrollPane()
创建一个空(JScrollPane
口视图)JScrollPane
其中水平和垂直滚动条在需要时出现。JScrollPane(int vsbPolicy, int hsbPolicy)
使用指定的滚动条策略创建一个空(JScrollPane
口视图)JScrollPane
。JScrollPane(Component view)
创建一个JScrollPane
,显示指定组件的内容,当组件的内容大于视图时,会显示水平和垂直滚动条。JScrollPane(Component view, int vsbPolicy, int hsbPolicy)
创建一个JScrollPane
,它可以在视口中显示视图组件,其视图位置可以通过一对滚动条来控制。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 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,这样任何电话revalidate
这个的任何后代JScrollPane
会造成这个开始的整棵树JScrollPane
进行验证。boolean
isWheelScrollingEnabled()
指示是否会响应于鼠标滚轮进行滚动。protected String
paramString()
返回此JScrollPane
的字符串表示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不是null
,则将其viewPosition的y坐标与视口同步(如果有),然后将其添加到滚动窗格。void
setRowHeaderView(Component view)
如果需要,创建行标题视口,设置其视图,然后将行标题视口添加到滚动条。void
setUI(ScrollPaneUI ui)
设置为该ScrollPaneUI
提供外观(L&F)的ScrollPaneUI
对象。void
setVerticalScrollBar(JScrollBar verticalScrollBar)
将控制视口垂直视图位置的滚动条添加到滚动条。void
setVerticalScrollBarPolicy(int policy)
确定滚动条中何时出现垂直滚动条。void
setViewport(JViewport viewport)
删除旧的视口(如果有的话); 迫使新视口的观点位于+ x,+ y象限中; 使用新的视口同步行和列标题(如果有的话); 最后使用新的视口同步滚动条和标题。void
setViewportBorder(Border viewportBorder)
在视口周围添加一个边框。void
setViewportView(Component view)
如果需要,创建一个视口,然后设置它的视图。void
setWheelScrollingEnabled(boolean handleWheel)
启用/禁用滚动以响应鼠标滚轮的移动。void
updateUI()
用当前默认的外观和ScrollPaneUI
替换当前的ScrollPaneUI
对象。-
Methods inherited from class 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Methods inherited from class 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, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class 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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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
-
-
-
-
字段详细信息
-
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
。
-
lowerLeft
protected Component lowerLeft
要显示在左下角的组件。 默认值为null
。
-
lowerRight
protected Component lowerRight
要显示在右下角的组件。 默认值为null
。
-
upperLeft
protected Component upperLeft
组件显示在左上角。 默认值为null
。
-
upperRight
protected Component upperRight
组件显示在右上角。 默认值为null
。
-
-
构造方法详细信息
-
JScrollPane
public JScrollPane(Component view, int vsbPolicy, int hsbPolicy)
创建一个JScrollPane
,它在视口中显示视图组件,其视图位置可以通过一对滚动条来控制。 滚动条策略指定何时显示滚动条,例如,如果vsbPolicy
为VERTICAL_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
口视图)JScrollPane
。 可用的策略设置列在setVerticalScrollBarPolicy(int)
和setHorizontalScrollBarPolicy(int)
。- 参数
-
vsbPolicy
- 一个指定垂直滚动条策略的整数 -
hsbPolicy
- 指定水平滚动条策略的整数 - 另请参见:
-
setViewportView(java.awt.Component)
-
JScrollPane
public JScrollPane()
创建一个空(JScrollPane
口视图)JScrollPane
其中水平和垂直滚动条在需要时出现。
-
-
方法详细信息
-
getUI
@BeanProperty(hidden=true, visualUpdate=true, description="The UI object that implements the Component\'s LookAndFeel.") public ScrollPaneUI getUI()
返回渲染此组件的外观和感觉(L&F)对象。- 重写:
-
getUI
在JComponent
- 结果
-
提供此组件的
ScrollPaneUI
对象 - 另请参见:
-
setUI(javax.swing.plaf.ScrollPaneUI)
-
setUI
public void setUI(ScrollPaneUI ui)
设置为该ScrollPaneUI
提供外观(L&F)的ScrollPaneUI
对象。- 参数
-
ui
-ScrollPaneUI
L&F对象 - 另请参见:
-
getUI()
-
updateUI
public void updateUI()
将当前的ScrollPaneUI
对象替换为当前默认外观的版本。 当默认的外观和感觉发生变化时被调用。
-
getUIClassID
@BeanProperty(bound=false, hidden=true) public String getUIClassID()
返回用于构造用于呈现此组件的L&F类的名称的后缀。- 重写:
-
getUIClassID
在JComponent
- 结果
- 字符串“ScrollPaneUI”
- 另请参见:
-
JComponent.getUIClassID()
,UIDefaults.getUI(javax.swing.JComponent)
-
setLayout
public void setLayout(LayoutManager layout)
设置此JScrollPane
的布局管理器。 此方法将覆盖setLayout
中的java.awt.Container
以确保只能在java.awt.Container
中使用LayoutManager
的子类的ScrollPaneLayout
JScrollPane
。 如果layout
为非空,则会调用syncWithScrollPane
。- 重写:
-
setLayout
在Container
- 参数
-
layout
- 指定的布局管理器 - 异常
-
ClassCastException
- 如果布局不是ScrollPaneLayout
- 另请参见:
-
Container.getLayout()
,Container.setLayout(java.awt.LayoutManager)
-
isValidateRoot
@BeanProperty(hidden=true) public boolean isValidateRoot()
重写以返回true,这样任何电话revalidate
这个的任何后代JScrollPane
会造成这个开始的整棵树JScrollPane
进行验证。
-
getVerticalScrollBarPolicy
public int getVerticalScrollBarPolicy()
返回垂直滚动条策略值。- 结果
-
verticalScrollBarPolicy
属性 - 另请参见:
-
setVerticalScrollBarPolicy(int)
-
setVerticalScrollBarPolicy
@BeanProperty(preferred=true, enumerationValues={"ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED","ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER","ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS"}, description="The scrollpane vertical scrollbar policy") public void setVerticalScrollBarPolicy(int policy)
确定滚动条中何时出现垂直滚动条。 合法价值是:-
ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED
-
ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER
-
ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS
- 参数
-
policy
- 上面列出的三个值之一 - 异常
-
IllegalArgumentException
- 如果policy
不是上述合法值之一 - 另请参见:
-
getVerticalScrollBarPolicy()
-
-
getHorizontalScrollBarPolicy
public int getHorizontalScrollBarPolicy()
返回水平滚动条策略值。- 结果
-
horizontalScrollBarPolicy
属性 - 另请参见:
-
setHorizontalScrollBarPolicy(int)
-
setHorizontalScrollBarPolicy
@BeanProperty(preferred=true, enumerationValues={"ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED","ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER","ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS"}, description="The scrollpane scrollbar policy") public void setHorizontalScrollBarPolicy(int policy)
确定水平滚动条何时出现在滚动条中。 选项是:-
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED
-
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER
-
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS
- 参数
-
policy
- 上面列出的三个值之一 - 异常
-
IllegalArgumentException
- 如果policy
不是上述合法值之一 - 另请参见:
-
getHorizontalScrollBarPolicy()
-
-
getViewportBorder
public Border getViewportBorder()
返回视口周围的Border
对象。- 结果
-
viewportBorder
属性 - 另请参见:
-
setViewportBorder(javax.swing.border.Border)
-
setViewportBorder
@BeanProperty(preferred=true, description="The border around the viewport.") public void setViewportBorder(Border viewportBorder)
在视口周围添加一个边框。 请注意,边框没有直接在视口上设置,JViewport
不支持JComponent
边框属性。 同样设置JScrollPane
的视口不影响viewportBorder
属性。该属性的默认值由外观实现计算。
- 参数
-
viewportBorder
- 要添加的边框 - 另请参见:
-
getViewportBorder()
,setViewport(javax.swing.JViewport)
-
getViewportBorderBounds
@BeanProperty(bound=false) 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
@BeanProperty(expert=true, description="The horizontal scrollbar.") 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
@BeanProperty(expert=true, description="The vertical scrollbar.") public void setVerticalScrollBar(JScrollBar verticalScrollBar)
将控制视口垂直视图位置的滚动条添加到滚动条。 这通常是不必要的,因为默认情况下,JScrollPane
创建垂直和水平滚动条。- 参数
-
verticalScrollBar
- 要添加的新垂直滚动条 - 另请参见:
-
createVerticalScrollBar()
,getVerticalScrollBar()
-
createViewport
protected JViewport createViewport()
默认情况下返回新的JViewport
。 用于创建视口(需要)在setViewportView
,setRowHeaderView
,并setColumnHeaderView
。 子类可以覆盖此方法以返回JViewport
的子类。- 结果
-
一个新的
JViewport
-
getViewport
public JViewport getViewport()
返回当前的JViewport
。- 结果
-
viewport
属性 - 另请参见:
-
setViewport(javax.swing.JViewport)
-
setViewport
@BeanProperty(expert=true, visualUpdate=true, description="The viewport child for this scrollpane") public void setViewport(JViewport viewport)
删除旧的视口(如果有的话); 迫使新视口的观点位于+ 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
@BeanProperty(expert=true, description="The row header child for this scrollpane") public void setRowHeader(JViewport rowHeader)
删除旧的行阅读器(如果存在) 如果新的rowHeader不是null
,则将其viewPosition的y坐标与视口同步(如果有),然后将其添加到滚动窗格。大多数应用程序将使用
setRowHeaderView
更方便地将行标题组件及其视口添加到滚动窗格。- 参数
-
rowHeader
- 要使用的新行标题; 如果null
旧行标题仍然被删除,并且新的rowHeader设置为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
@BeanProperty(visualUpdate=true, description="The column header child for this scrollpane") public void setColumnHeader(JViewport columnHeader)
删除旧的columnHeader(如果存在) 如果新的columnHeader不是null
,则将其viewPosition的x坐标与视口同步(如果有),然后将其添加到滚动窗格。大多数应用程序将使用
setColumnHeaderView
将列标题组件及其视口添加到滚动窗格更方便。- 参数
-
columnHeader
- 一个JViewport
这是新的列标题 - 另请参见:
-
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
值是以下之一:- ScrollPaneConstants.LOWER_LEFT_CORNER
- ScrollPaneConstants.LOWER_RIGHT_CORNER
- ScrollPaneConstants.UPPER_LEFT_CORNER
- ScrollPaneConstants.UPPER_RIGHT_CORNER
- ScrollPaneConstants.LOWER_LEADING_CORNER
- ScrollPaneConstants.LOWER_TRAILING_CORNER
- ScrollPaneConstants.UPPER_LEADING_CORNER
- ScrollPaneConstants.UPPER_TRAILING_CORNER
- 参数
-
key
- 上述值之一 - 结果
-
由给定密钥标识的角色组件(可能为
null
),如果密钥无效,null
- 另请参见:
-
setCorner(java.lang.String, java.awt.Component)
-
setCorner
public void setCorner(String key, Component corner)
添加一个孩子,出现在一个滚动窗格的角落,如果有空间。 例如,两个滚动条显示(在滚动窗口的右下边缘),左下角的组件将显示在两个滚动条的两端之间的空间中。 关键的合法价值是:- ScrollPaneConstants.LOWER_LEFT_CORNER
- ScrollPaneConstants.LOWER_RIGHT_CORNER
- ScrollPaneConstants.UPPER_LEFT_CORNER
- ScrollPaneConstants.UPPER_RIGHT_CORNER
- ScrollPaneConstants.LOWER_LEADING_CORNER
- ScrollPaneConstants.LOWER_TRAILING_CORNER
- ScrollPaneConstants.UPPER_LEADING_CORNER
- ScrollPaneConstants.UPPER_TRAILING_CORNER
虽然“角”与任何bean属性签名不匹配,
PropertyChange
生成PropertyChange
事件,属性名称设置为角键。- 参数
-
key
- 识别组件将出现在哪个角落 -
corner
- 以下组件之一:- lowerLeft
- lowerRight
- 左上
- 右上方
- 异常
-
IllegalArgumentException
- 如果角键无效
-
setComponentOrientation
public void setComponentOrientation(ComponentOrientation co)
设置由ComponentOrientation
参数确定的垂直和水平滚动条的方向。- 重写:
-
setComponentOrientation
在Component
- 参数
-
co
- 以下值之一:- java.awt.ComponentOrientation.LEFT_TO_RIGHT
- java.awt.ComponentOrientation.RIGHT_TO_LEFT
- java.awt.ComponentOrientation.UNKNOWN
- 另请参见:
-
ComponentOrientation
-
isWheelScrollingEnabled
@BeanProperty(description="Flag for enabling/disabling mouse wheel scrolling") public boolean isWheelScrollingEnabled()
指示是否会响应于鼠标滚轮进行滚动。 轮滚动默认启用。- 结果
- 如果鼠标滚轮滚动已启用,则为true,否则为false
- 从以下版本开始:
- 1.4
- 另请参见:
-
setWheelScrollingEnabled(boolean)
-
setWheelScrollingEnabled
@BeanProperty(description="Flag for enabling/disabling mouse wheel scrolling") public void setWheelScrollingEnabled(boolean handleWheel)
启用/禁用滚动以响应鼠标滚轮的移动。 轮滚动默认启用。- 参数
-
handleWheel
-true
如果滚动应该为MouseWheelEvent自动完成,否则为false
。 - 从以下版本开始:
- 1.4
- 另请参见:
-
isWheelScrollingEnabled()
,MouseWheelEvent
,MouseWheelListener
-
paramString
protected String paramString()
返回此JScrollPane
的字符串表示JScrollPane
。 该方法仅用于调试目的,并且返回的字符串的内容和格式可能因实现而异。 返回的字符串可能为空,但可能不是null
。- 重写:
-
paramString
在JComponent
- 结果
-
这个
JScrollPane
的字符串表示JScrollPane
。
-
getAccessibleContext
@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
获取与此JScrollPane关联的AccessibleContext。 对于滚动窗格,AccessibleContext采用AccessibleJScrollPane的形式。 如有必要,将创建一个新的AccessibleJScrollPane实例。- Specified by:
-
getAccessibleContext
在接口Accessible
- 重写:
-
getAccessibleContext
在Component
- 结果
- an AccessibleJScrollPane that serves as the AccessibleContext of this JScrollPane
-
-