java.lang.Object
java.awt.Component
java.awt.Container
java.awt.ScrollPane
- 所有已实现的接口:
ImageObserver,MenuContainer,Serializable,Accessible
为单个子组件实现自动水平和/或垂直滚动的容器类。滚动条的显示策略可以设置为:
- 根据需要:仅在滚动窗格需要时才创建和显示滚动条
- 始终:滚动条创建并始终由滚动窗格显示
- never:滚动条从未被滚动面板创建或显示
水平和垂直滚动条的状态由两个实现 Adjustable 接口的 ScrollPaneAdjustable 对象(每个维度一个)表示。 API 提供了访问这些对象的方法,以便可以操作 Adjustable 对象的属性(例如 unitIncrement、value 等)。
某些可调整的属性(最小值、最大值、blockIncrement 和 visibleAmount)由滚动窗格根据滚动窗格及其子项的几何形状在内部设置,这些不应由使用滚动窗格的程序设置。
如果滚动条显示策略定义为“从不”,则仍然可以使用 setScrollPosition() 方法以编程方式滚动滚动窗格,并且滚动窗格将移动并适当地裁剪子项的内容。如果程序需要创建和管理自己的可调整控件,则此策略很有用。
滚动条的位置由用户在程序外设置的平台特定属性控制。
此容器的初始大小设置为 100x100,但可以使用 setSize() 重新设置。
默认情况下启用配备滚轮的鼠标上的滚轮滚动。这可以使用 setWheelScrollingEnabled 禁用。可以通过设置水平和垂直 Adjustables 的块和单位增量来自定义滚轮滚动。有关如何调度鼠标滚轮事件的信息,请参阅 MouseWheelEvent 的类描述。
insets用于定义滚动条使用的任何空间和滚动窗格创建的任何边框。 getInsets() 可用于获取insets的当前值。如果 scrollbarsAlwaysVisible 的值为 false,则 insets 的值将根据滚动条当前是否可见而动态变化。
- 参见:
-
内部类总结
内部类在类 java.awt.Container 中声明的嵌套类/接口
Container.AccessibleAWTContainer -
字段摘要
字段修饰符和类型Field描述static final int指定应始终显示水平/垂直滚动条,而不管滚动窗格和子项各自的大小如何。static final int指定仅当子项的大小在水平/垂直维度上超过滚动窗格的大小时才应显示水平/垂直滚动条。static final int指定无论滚动窗格和子项各自的大小如何,都不应显示水平/垂直滚动条。在类 java.awt.Component 中声明的字段
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT在接口 java.awt.image.ImageObserver 中声明的字段
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
构造方法总结
构造方法 -
方法总结
修饰符和类型方法描述protected final void将指定的组件添加到此滚动窗格容器。void创建滚动窗格的对等项。voiddoLayout()通过将其子级调整为其首选大小来布置此容器。protected booleaneventTypeEnabled(int type) 如果启用滚轮滚动,我们为 MouseWheelEvents 返回 true获取与此 ScrollPane 关联的 AccessibleContext。返回表示水平滚动条状态的ScrollPaneAdjustable对象。int返回水平滚动条将占据的高度,它与滚动窗格当前是否显示无关。int返回滚动条的显示策略。返回显示在滚动面板视口的 0,0 位置的子项中的当前 x,y 位置。返回表示垂直滚动条状态的ScrollPaneAdjustable对象。返回滚动窗格视口的当前大小。int返回垂直滚动条将占据的宽度,这与它当前是否显示在滚动窗格中无关。boolean指示是否响应鼠标滚轮进行滚动。voidlayout()已弃用。返回表示此ScrollPane状态的字符串。void打印此滚动窗格中的组件。protected void通过滚动适当的量来处理传递给此ScrollPane的鼠标滚轮事件。final voidsetLayout(LayoutManager mgr) 为此容器设置布局管理器。voidsetScrollPosition(int x, int y) 滚动到子组件内的指定位置。void滚动到子组件内的指定位置。voidsetWheelScrollingEnabled(boolean handleWheel) 启用/禁用响应鼠标滚轮移动的滚动。在类 java.awt.Container 中声明的方法
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, isValidateRoot, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, update, validate, validateTree在类 java.awt.Component 中声明的方法
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, revalidate, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setMixingCutoutShape, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
字段详细信息
-
SCROLLBARS_AS_NEEDED
public static final int SCROLLBARS_AS_NEEDED指定仅当子项的大小在水平/垂直维度上超过滚动窗格的大小时才应显示水平/垂直滚动条。- 参见:
-
SCROLLBARS_ALWAYS
public static final int SCROLLBARS_ALWAYS指定应始终显示水平/垂直滚动条,而不管滚动窗格和子项各自的大小如何。- 参见:
-
SCROLLBARS_NEVER
public static final int SCROLLBARS_NEVER指定无论滚动窗格和子项各自的大小如何,都不应显示水平/垂直滚动条。- 参见:
-
-
构造方法详细信息
-
ScrollPane
创建一个滚动条显示策略为“根据需要”的新滚动窗格容器。- 抛出:
HeadlessException- 如果 GraphicsEnvironment.isHeadless() 返回 true- 参见:
-
ScrollPane
@ConstructorProperties ("scrollbarDisplayPolicy") public ScrollPane(int scrollbarDisplayPolicy) throws HeadlessException 创建一个新的滚动窗格容器。- 参数:
scrollbarDisplayPolicy- 何时显示滚动条的策略- 抛出:
IllegalArgumentException- 如果指定的滚动条显示策略无效HeadlessException- 如果 GraphicsEnvironment.isHeadless() 返回 true- 参见:
-
-
方法详情
-
addImpl
将指定的组件添加到此滚动窗格容器。如果滚动窗格有一个现有的子组件,则该组件将被删除并添加新的。 -
getScrollbarDisplayPolicy
public int getScrollbarDisplayPolicy()返回滚动条的显示策略。- 返回:
- 滚动条的显示策略
-
getViewportSize
返回滚动窗格视口的当前大小。- 返回:
- 视口的大小(以像素为单位)
-
getHScrollbarHeight
public int getHScrollbarHeight()返回水平滚动条将占据的高度,它与滚动窗格当前是否显示无关。- 返回:
- 水平滚动条的高度(以像素为单位)
-
getVScrollbarWidth
public int getVScrollbarWidth()返回垂直滚动条将占据的宽度,这与它当前是否显示在滚动窗格中无关。- 返回:
- 垂直滚动条的宽度(以像素为单位)
-
getVAdjustable
返回表示垂直滚动条状态的ScrollPaneAdjustable对象。此方法声明的返回类型为Adjustable以保持向后兼容性。- 返回:
- 垂直滚动条状态
- 参见:
-
getHAdjustable
返回表示水平滚动条状态的ScrollPaneAdjustable对象。此方法声明的返回类型为Adjustable以保持向后兼容性。- 返回:
- 水平滚动条状态
- 参见:
-
setScrollPosition
public void setScrollPosition(int x, int y) 滚动到子组件内的指定位置。仅当滚动窗格包含子项时,对此方法的调用才有效。指定子级合法滚动边界之外的位置将滚动到最近的合法位置。合法边界被定义为矩形:x = 0, y = 0, width = (child width - view port width), height = (child height - view port height)。这是一个方便的方法,它与表示滚动条状态的 Adjustable 对象交互。- 参数:
x- 要滚动到的 x 位置y- 滚动到的 y 位置- 抛出:
NullPointerException- 如果滚动窗格不包含子项
-
setScrollPosition
滚动到子组件内的指定位置。仅当滚动窗格包含子项且指定位置在子项的合法滚动范围内时,对此方法的调用才有效。指定子级合法滚动边界之外的位置将滚动到最近的合法位置。合法边界被定义为矩形:x = 0, y = 0, width = (child width - view port width), height = (child height - view port height)。这是一个方便的方法,它与表示滚动条状态的 Adjustable 对象交互。- 参数:
p- 表示要滚动到的位置的点- 抛出:
NullPointerException- 如果p是null
-
getScrollPosition
返回显示在滚动面板视口的 0,0 位置的子项中的当前 x,y 位置。这是一个方便的方法,它与表示滚动条状态的可调整对象进行交互。- 返回:
- 当前滚动位置的坐标位置
- 抛出:
NullPointerException- 如果滚动窗格不包含子项
-
setLayout
为此容器设置布局管理器。重写此方法以防止设置布局管理器。 -
doLayout
public void doLayout()通过将其子级调整为其首选大小来布置此容器。如果子项的新首选大小导致当前滚动位置无效,则将滚动位置设置为最接近的有效位置。 -
layout
已弃用。从 JDK 1.1 版开始,由doLayout()取代。 -
printComponents
打印此滚动窗格中的组件。- 重写:
printComponents在类Container中- 参数:
g- 指定的图形窗口- 参见:
-
addNotify
public void addNotify()创建滚动窗格的对等项。 -
paramString
返回表示此ScrollPane状态的字符串。此方法仅用于调试目的,返回字符串的内容和格式可能因实现而异。返回的字符串可能为空,但可能不是null。- 重写:
paramString在类Container中- 返回:
- 此滚动窗格的参数字符串
-
processMouseWheelEvent
通过滚动适当的量来处理传递给此ScrollPane的鼠标滚轮事件。请注意,如果事件参数为
null,则行为未指定且可能导致异常。- 重写:
processMouseWheelEvent在类Component中- 参数:
e- 鼠标滚轮事件- 自从:
- 1.4
- 参见:
-
eventTypeEnabled
protected boolean eventTypeEnabled(int type) 如果启用滚轮滚动,我们为 MouseWheelEvents 返回 true- 自从:
- 1.4
-
setWheelScrollingEnabled
public void setWheelScrollingEnabled(boolean handleWheel) 启用/禁用响应鼠标滚轮移动的滚动。默认情况下启用滚轮滚动。- 参数:
handleWheel-true如果应为 MouseWheelEvent 自动完成滚动,false否则。- 自从:
- 1.4
- 参见:
-
isWheelScrollingEnabled
public boolean isWheelScrollingEnabled()指示是否响应鼠标滚轮进行滚动。默认情况下启用滚轮滚动。- 返回:
true如果滚轮启用;否则false- 自从:
- 1.4
- 参见:
-
getAccessibleContext
获取与此 ScrollPane 关联的 AccessibleContext。对于滚动窗格,AccessibleContext 采用 AccessibleAWTScrollPane 的形式。如有必要,将创建一个新的 AccessibleAWTScrollPane 实例。- 指定者:
getAccessibleContext在接口Accessible中- 重写:
getAccessibleContext在类Component中- 返回:
- 作为此 ScrollPane 的 AccessibleContext 的 AccessibleAWTScrollPane
- 自从:
- 1.3
-
doLayout()取代。