public class ScrollPane extends Container implements Accessible
水平和垂直滚动条的状态由两个ScrollPaneAdjustable
对象(每个维度一个)表示,实现Adjustable
接口。 API提供访问这些对象的方法,以便可以操纵Adjustable对象上的属性(如unitIncrement,value等)。
某些可调整的属性(最小值,最大值,块输入和可见的安装)由滚动条内部根据滚动条及其子代的几何形状设置,这些属性不应由使用滚动条的程序设置。
如果滚动条显示策略被定义为“从不”,则滚动窗格仍然可以使用setScrollPosition()方法以编程方式滚动,滚动窗格将适当地移动和剪贴子内容。 如果程序需要创建和管理自己的可调节控件,则此策略很有用。
滚动条的放置由用户在程序外部设置的平台特定属性控制。
此容器的初始大小设置为100x100,但可以使用setSize()重置。
默认情况下,启用带轮盘鼠标的滚轮滚动。 这可以使用setWheelScrollingEnabled
禁用。 可以通过设置水平和垂直可调节的块和单位增量来定制轮滚动。 有关如何调度鼠标滚轮事件的信息,请参阅MouseWheelEvent
的类说明 。
Insets用于定义滚动条和滚动窗格创建的任何边框所使用的空间。 getInsets()可用于获取插值的当前值。 如果scrollbarsAlwaysVisible的值为false,则插值的值将根据滚动条当前是否可见而动态更改。
Modifier and Type | Class and Description |
---|---|
protected class |
ScrollPane.AccessibleAWTScrollPane
这个类实现了可访问性支持
ScrollPane 类。
|
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Modifier and Type | Field and Description |
---|---|
static int |
SCROLLBARS_ALWAYS
指定水平/垂直滚动条应始终显示,而不管滚动条和子对象的大小如何。
|
static int |
SCROLLBARS_AS_NEEDED
指定仅当小孩的大小超过水平/垂直维度中滚动窗口的大小时才应显示水平/垂直滚动条。
|
static int |
SCROLLBARS_NEVER
指定水平/垂直滚动条不应该显示,而不管滚动条和子的相应大小。
|
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
ScrollPane()
创建一个滚动条显示策略为“根据需要”的新的滚动容器。
|
ScrollPane(int scrollbarDisplayPolicy)
创建一个新的scrollpane容器。
|
Modifier and Type | Method and Description |
---|---|
protected void |
addImpl(Component comp, Object constraints, int index)
将指定的组件添加到此滚动窗格容器。
|
void |
addNotify()
创建滚动窗格的对等体。
|
void |
doLayout()
通过将其小孩调整为首选尺寸,将这个容器放在一起。
|
protected boolean |
eventTypeEnabled(int type)
如果启用滚动滚动,我们将为MouseWheelEvents返回true
|
AccessibleContext |
getAccessibleContext()
获取与此ScrollPane关联的AccessibleContext。
|
Adjustable |
getHAdjustable()
返回表示
ScrollPaneAdjustable 滚动条状态的ScrollPaneAdjustable对象。
|
int |
getHScrollbarHeight()
返回一个水平滚动条占用的高度,它与滚动窗格当前是否显示无关。
|
int |
getScrollbarDisplayPolicy()
返回滚动条的显示策略。
|
Point |
getScrollPosition()
返回显示在滚动面板视图端口的0,0位置的子项内的当前x,y位置。
|
Adjustable |
getVAdjustable()
返回表示垂直滚动条状态的
ScrollPaneAdjustable 对象。
|
Dimension |
getViewportSize()
返回滚动窗格视图端口的当前大小。
|
int |
getVScrollbarWidth()
返回垂直滚动条将占用的宽度,该宽度与滚动窗格当前是否显示无关。
|
boolean |
isWheelScrollingEnabled()
指示是否会响应于鼠标滚轮进行滚动。
|
void |
layout()
已弃用
从JDK 1.1版开始,由
doLayout() 。
|
String |
paramString()
返回表示此
ScrollPane 的状态的字符串。
|
void |
printComponents(Graphics g)
打印此滚动窗格中的组件。
|
protected void |
processMouseWheelEvent(MouseWheelEvent e)
通过滚动适当的量来处理传递给此
ScrollPane 的鼠标滚轮事件。
|
void |
setLayout(LayoutManager mgr)
设置此容器的布局管理器。
|
void |
setScrollPosition(int x, int y)
滚动到子组件中的指定位置。
|
void |
setScrollPosition(Point p)
滚动到子组件中的指定位置。
|
void |
setWheelScrollingEnabled(boolean handleWheel)
响应于鼠标滚轮的移动启用/禁用滚动。
|
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
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, getPeer, 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, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, revalidate, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
public static final int SCROLLBARS_AS_NEEDED
public static final int SCROLLBARS_ALWAYS
public static final int SCROLLBARS_NEVER
public ScrollPane() throws HeadlessException
HeadlessException
- 如果GraphicsEnvironment.isHeadless()返回true
GraphicsEnvironment.isHeadless()
@ConstructorProperties(value="scrollbarDisplayPolicy") public ScrollPane(int scrollbarDisplayPolicy) throws HeadlessException
scrollbarDisplayPolicy
- 应显示
scrollbarDisplayPolicy
策略
IllegalArgumentException
- 如果指定的滚动条显示策略无效
HeadlessException
- 如果GraphicsEnvironment.isHeadless()返回真
GraphicsEnvironment.isHeadless()
protected final void addImpl(Component comp, Object constraints, int index)
addImpl
在
Container
comp
- 要添加的组件
constraints
- 不适用
index
- 子组件的位置(必须<= 0)
Container.add(Component)
, Container.add(Component, int)
, Container.add(Component, java.lang.Object)
, Container.invalidate()
, LayoutManager
, LayoutManager2
public int getScrollbarDisplayPolicy()
public Dimension getViewportSize()
public int getHScrollbarHeight()
public int getVScrollbarWidth()
public Adjustable getVAdjustable()
ScrollPaneAdjustable
对象。
此方法的声明返回类型为Adjustable
以保持向后兼容性。
ScrollPaneAdjustable
public Adjustable getHAdjustable()
ScrollPaneAdjustable
滚动条状态的ScrollPaneAdjustable对象。
此方法的声明返回类型为Adjustable
以保持向后兼容性。
ScrollPaneAdjustable
public void setScrollPosition(int x, int y)
x
- 要滚动到的x位置
y
- 要滚动到的位置
NullPointerException
- 如果滚动条不包含小孩
public void setScrollPosition(Point p)
p
- 表示要滚动到的位置的点
NullPointerException
- 如果
p
是
null
public Point getScrollPosition()
NullPointerException
- 如果滚动条不包含小孩
public final void setLayout(LayoutManager mgr)
setLayout
在
Container
mgr
- 指定的布局管理器
Container.doLayout()
,
Container.getLayout()
,
Container.invalidate()
public void doLayout()
doLayout
在类别
Container
Component.validate()
@Deprecated public void layout()
doLayout()
。
public void printComponents(Graphics g)
printComponents
在
Container
g
- 指定的图形窗口
Component.print(java.awt.Graphics)
,
Component.printAll(java.awt.Graphics)
public void addNotify()
addNotify
在类别
Container
Component.isDisplayable()
,
Container.removeNotify()
public String paramString()
ScrollPane
的状态的字符串。
该方法仅用于调试目的,并且返回的字符串的内容和格式可能因实现而异。
返回的字符串可能为空,但可能不是null
。
paramString
在类别
Container
protected void processMouseWheelEvent(MouseWheelEvent e)
ScrollPane
的鼠标滚轮事件。
请注意,如果事件参数为null
则行为未指定,并可能导致异常。
processMouseWheelEvent
在
Component
e
- 鼠标滚轮事件
MouseWheelEvent
, MouseWheelListener
, Component.addMouseWheelListener(java.awt.event.MouseWheelListener)
, Component.enableEvents(long)
protected boolean eventTypeEnabled(int type)
public void setWheelScrollingEnabled(boolean handleWheel)
handleWheel
-
true
如果滚动应该为MouseWheelEvent自动完成,
false
false。
isWheelScrollingEnabled()
, MouseWheelEvent
, MouseWheelListener
public boolean isWheelScrollingEnabled()
setWheelScrollingEnabled(boolean)
public AccessibleContext getAccessibleContext()
getAccessibleContext
在界面
Accessible
getAccessibleContext
在类别
Component