- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JScrollPane
-
- 实现的所有接口
-
ImageObserver
,MenuContainer
,Serializable
,Accessible
,ScrollPaneConstants
@JavaBean(defaultProperty="UI", description="A specialized container that manages a viewport, optional scrollbars and headers")public class JScrollPaneextends JComponentimplements ScrollPaneConstants, Accessible
提供轻量级组件的可滚动视图。 AJScrollPane
管理视口,可选的垂直和水平滚动条以及可选的行和列标题视口。 您可以在How to Use Scroll Panes (Java教程中的一个部分)中找到JScrollPane
的面向任务的文档。 请注意,JScrollPane
不支持重量级组件。 ExampleJViewport
在数据源上提供窗口或“视口” - 例如,文本文件。 该数据源是JViewport
视图显示的“可滚动客户端”(也称为数据模型)。 AJScrollPane
基本上由JScrollBar
s,JViewport
和它们之间的接线组成,如右图所示。除滚动条和视
JScrollPane
,JScrollPane
还可以具有列标题和行标题。 其中每个都是您使用setRowHeaderView
和setColumnHeaderView
指定的JViewport
对象。 列标题视口自动向左和向右滚动,跟踪主视口的左右滚动。 (但它永远不会垂直滚动。)行标题以类似的方式起作用。当两个滚动条相遇时,行标题符合列标题,或者滚动条与其中一个标题相遇,两个组件都停在角落之外,留下一个矩形空间,默认情况下为空。 这些空间可能存在于四个角中的任何数量上。 在上图中,右上方的空格存在并由标签“角落组件”标识。
可以使用
setCorner
方法将组件添加到特定角落来替换任意数量的这些空白空间。 (注意:相同的组件不能添加到多个角落。)如果您想要添加到滚动窗格中的一些额外装饰或功能,这将非常有用。 每个角落组件的大小完全由包围它的标题和/或滚动条的大小决定。只有当角落中存在空白空间才能存在时,角组件才可见。例如,考虑将组件设置到带有列标题的滚动窗格的右上角。 如果滚动窗格的垂直滚动条不存在,可能是因为视图组件的长度不足以满足要求,因此不会显示角组件(因为标题会议创建的角落中没有空白区域)和垂直滚动条)。 使用
setVerticalScrollBarPolicy(VERTICAL_SCROLLBAR_ALWAYS)
强制始终显示滚动条将确保角部件的空间始终存在。要在主视口周围添加边框,可以使用
setViewportBorder
。 (当然,您也可以使用setBorder
在整个滚动窗格周围添加边框。)要做的常见操作是设置主视口视图小于视口时将使用的背景颜色,或者不是不透明的。 这可以通过设置视口的背景颜色来完成,通过
scrollPane.getViewport().setBackground()
。 设置视口颜色而不是滚动窗格的原因是默认情况下JViewport
是不透明的,除其他外,它意味着它将使用其背景颜色完全填充其背景。 因此,当JScrollPane
绘制其背景时,视口通常会绘制它。默认情况下,
JScrollPane
使用ScrollPaneLayout
来处理其子组件的布局。ScrollPaneLayout
确定以两种方式之一制作视口视图的大小:- 如果视图实现
Scrollable
的组合getPreferredScrollableViewportSize
,getScrollableTracksViewportWidth
和getScrollableTracksViewportHeight
被使用,否则 -
getPreferredSize
。
警告: Swing不是线程安全的。 有关更多信息,请参阅Swing's Threading Policy 。
警告:此类的序列化对象与以后的Swing版本不兼容。 当前的序列化支持适用于运行相同版本Swing的应用程序之间的短期存储或RMI。 从1.4开始,
java.beans
软件包中添加了对所有JavaBeansjava.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
-
-
嵌套类汇总
嵌套类 变量和类型 类 描述 protected class
JScrollPane.AccessibleJScrollPane
此类实现JScrollPane
类的可访问性支持。protected class
JScrollPane.ScrollBar
默认情况下,JScrollPane
创建作为此类实例的滚动条。-
嵌套类/接口声明在类 javax.swing.JComponent
JComponent.AccessibleJComponent
-
嵌套类/接口声明在类 java.awt.Container
Container.AccessibleAWTContainer
-
-
字段汇总
字段 变量和类型 字段 描述 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
scrollpane的视口子项。-
声明的属性在类 javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
声明的属性在类 java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
Fields declared in interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Fields declared in 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
-
-
构造方法摘要
构造方法 构造器 描述 JScrollPane()
创建一个空(JScrollPane
口视图)JScrollPane
,其中水平和垂直滚动条在需要时出现。JScrollPane(int vsbPolicy, int hsbPolicy)
使用指定的滚动条策略创建一个空(JScrollPane
口视图)JScrollPane
。JScrollPane(Component view)
创建一个显示指定组件内容的JScrollPane
,其中只要组件的内容大于视图,就会出现水平和垂直滚动条。JScrollPane(Component view, 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
将导致以此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(如果存在); 如果新的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
对象。-
声明方法的类 javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, 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, 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
-
声明方法的类 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
-
声明方法的类 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, 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, 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, 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
-
-
-
-
字段详细信息
-
verticalScrollBarPolicy
protected int verticalScrollBarPolicy
垂直滚动条的显示策略。 默认值为ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED
。
-
horizontalScrollBarPolicy
protected int horizontalScrollBarPolicy
水平滚动条的显示策略。 默认值为ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED
。
-
viewport
protected JViewport viewport
scrollpane的视口子项。 默认为空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
- 要在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)。- 参数
-
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
,以确保只有LayoutManager
,这种是子类ScrollPaneLayout
可以被用在JScrollPane
。 如果layout
为非null,syncWithScrollPane
在其上调用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
实现用于创建水平滚动条。- 结果
- a
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
实现用于创建垂直滚动条。- 结果
- a
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)
删除旧视口(如果有); 强制新视口的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
@BeanProperty(expert=true, description="The row header child for this scrollpane")public void setRowHeader(JViewport rowHeader)
删除旧的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
虽然“corner”与任何beans属性签名都不匹配,
PropertyChange
会生成PropertyChange
事件,并将属性名称设置为角键。- 参数
-
key
- 标识组件将出现在哪个角落 -
corner
- 以下组件之一:- lowerLeft
- 右下
- 左上
- 右上方
- 异常
-
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
-
-