- 所有已实现的接口:
Adjustable,ImageObserver,MenuContainer,Serializable,Accessible
Scrollbar 类包含一个滚动条,一个熟悉的用户界面对象。滚动条提供了一种方便的方式,允许用户从一系列值中进行选择。以下三个垂直滚动条可用作滑块控件来选择颜色的红色、绿色和蓝色组件:

此示例中的每个滚动条都可以使用类似于以下的代码创建:
redSlider=new Scrollbar(Scrollbar.VERTICAL, 0, 1, 0, 255); add(redSlider);
或者,滚动条可以表示一系列值。例如,如果滚动条用于滚动文本,则“气泡”(也称为“拇指”或“滚动框”)的宽度可用于表示可见文本的数量。以下是表示范围的滚动条示例:

本例中气泡所代表的取值范围为visible amount。本例中的水平滚动条可以使用如下代码创建:
ranger = new Scrollbar(Scrollbar.HORIZONTAL, 0, 60, 0, 300); add(ranger);
请注意,滚动条的实际最大值是 maximum 减去 visible amount 。上例中,因为maximum为300,visible amount为60,所以实际最大值为240。滚动条轨迹的范围为0-300。气泡左侧表示滚动条的值。
通常,用户通过使用鼠标做出手势来改变滚动条的值。例如,用户可以上下拖动滚动条的气泡,或者点击滚动条的单位增量或块增量区域。键盘手势也可以映射到滚动条。按照惯例,向上翻页和向下翻页键相当于点击滚动条的块递增和块递减区域。
当用户更改滚动条的值时,滚动条会收到 AdjustmentEvent 的实例。滚动条处理此事件,将其传递给任何已注册的监听器。
任何希望收到滚动条值更改通知的对象都应实现 AdjustmentListener ,这是一个在包 java.awt.event 中定义的接口。可以通过调用方法 addAdjustmentListener 和 removeAdjustmentListener 来动态添加和删除监听器。
AdjustmentEvent 类定义了五种类型的调整事件,在此处列出:
AdjustmentEvent.TRACK在用户拖动滚动条的气泡时发出。AdjustmentEvent.UNIT_INCREMENT在用户单击水平滚动条的左箭头或垂直滚动条的顶部箭头或从键盘做出等效手势时发出。AdjustmentEvent.UNIT_DECREMENT在用户单击水平滚动条的右箭头或垂直滚动条的底部箭头,或从键盘做出等效手势时发出。AdjustmentEvent.BLOCK_INCREMENT当用户在水平滚动条上的气泡左侧或垂直滚动条上的气泡上方单击轨道时发送。按照惯例,向上翻页key 是等价的,如果用户使用的键盘定义了一个向上翻页钥匙。AdjustmentEvent.BLOCK_DECREMENT当用户在水平滚动条上的气泡右侧或垂直滚动条上的气泡下方的轨道中单击时发送。按照惯例,向下翻页key 是等价的,如果用户使用的键盘定义了一个向下翻页钥匙。
JDK 1.0 事件系统支持向后兼容,但不鼓励将其用于较新版本的平台。 JDK 1.1 引入的五种调整事件类型与之前平台版本中与滚动条关联的五种事件类型相对应。下面的列表给出了调整事件类型,以及它替换的相应 JDK 1.0 事件类型。
AdjustmentEvent.TRACK替换Event.SCROLL_ABSOLUTEAdjustmentEvent.UNIT_INCREMENT替换Event.SCROLL_LINE_UPAdjustmentEvent.UNIT_DECREMENT替换Event.SCROLL_LINE_DOWNAdjustmentEvent.BLOCK_INCREMENT替换Event.SCROLL_PAGE_UPAdjustmentEvent.BLOCK_DECREMENT替换Event.SCROLL_PAGE_DOWN
笔记:我们建议仅将 Scrollbar 用于值选择。如果您想在容器内实现可滚动组件,我们建议您使用 ScrollPane 。如果为此目的使用 Scrollbar,您可能会遇到绘画、键处理、大小调整和定位方面的问题。
- 自从:
- 1.0
- 参见:
-
内部类总结
内部类 -
字段摘要
字段在类 java.awt.Component 中声明的字段
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT在接口 java.awt.Adjustable 中声明的字段
NO_ORIENTATION在接口 java.awt.image.ImageObserver 中声明的字段
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
构造方法总结
构造方法 -
方法总结
修饰符和类型方法描述void添加指定的调整监听器以从此滚动条接收AdjustmentEvent的实例。void创建Scrollbar的对等体。获取与此Scrollbar关联的AccessibleContext。返回在此滚动条上注册的所有调整监听的数组。int获取此滚动条的块增量。int已弃用。<T extends EventListener>
T[]getListeners(Class<T> listenerType) 返回当前在此Scrollbar上注册为FooListener的所有对象的数组。int获取此滚动条的最大值。int获取此滚动条的最小值。int返回此滚动条的方向。int已弃用。从 JDK 1.1 版开始,由getBlockIncrement()取代。int获取此滚动条的单位增量。intgetValue()获取此滚动条的当前值。boolean如果该值由于用户采取的操作而处于更改过程中,则返回 true。int已弃用。从 JDK 1.1 版开始,由getVisibleAmount()取代。int获取此滚动条的可见量。protected String返回表示此Scrollbar状态的字符串。protected void通过将此滚动条上发生的调整事件分派给任何已注册的AdjustmentListener对象来处理它们。protected void处理此滚动条上的事件。void删除指定的调整监听器,使其不再从此滚动条接收AdjustmentEvent实例。voidsetBlockIncrement(int v) 设置此滚动条的块增量。voidsetLineIncrement(int v) 已弃用。从 JDK 1.1 版开始,由setUnitIncrement(int)取代。voidsetMaximum(int newMaximum) 设置此滚动条的最大值。voidsetMinimum(int newMinimum) 设置此滚动条的最小值。voidsetOrientation(int orientation) 设置此滚动条的方向。voidsetPageIncrement(int v) 已弃用。从 JDK 1.1 版开始,由setBlockIncrement()取代。voidsetUnitIncrement(int v) 设置此滚动条的单位增量。voidsetValue(int newValue) 将此滚动条的值设置为指定值。voidsetValueIsAdjusting(boolean b) 设置valueIsAdjusting属性。voidsetValues(int value, int visible, int minimum, int maximum) 为此滚动条设置四个属性的值:value、visibleAmount、minimum和maximum。voidsetVisibleAmount(int newAmount) 设置此滚动条的可见量。在类 java.awt.Component 中声明的方法
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAlignmentX, getAlignmentY, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paint, paintAll, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, 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, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setMixingCutoutShape, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, update, validate
-
字段详细信息
-
HORIZONTAL
public static final int HORIZONTAL指示水平滚动条的常量。- 参见:
-
VERTICAL
public static final int VERTICAL一个常量,表示垂直滚动条。- 参见:
-
-
构造方法详细信息
-
Scrollbar
构造一个新的垂直滚动条。滚动条的默认属性如下表所示:滚动条默认属性 属性 Description 默认值 方向 指示滚动条是垂直的还是水平的 Scrollbar.VERTICALvalue 控制滚动条气泡位置的值 0 可见量 滚动条范围的可见量,通常由滚动条气泡的大小表示 10 最低限度 滚动条的最小值 0 最大限度 滚动条的最大值 100 单位增量 按下 Line Up 或 Line Down 键或单击滚动条的结束箭头时值更改的量 1 块增量 按下 Page Up 或 Page Down 键或单击滚动条轨道时值的变化量
在气泡的两侧10 - 抛出:
HeadlessException- 如果 GraphicsEnvironment.isHeadless() 返回 true。- 参见:
-
Scrollbar
构造一个具有指定方向的新滚动条。orientation参数必须采用两个值之一Scrollbar.HORIZONTAL或Scrollbar.VERTICAL,分别表示水平或垂直滚动条。- 参数:
orientation- 指示滚动条的方向- 抛出:
IllegalArgumentException- 当为orientation参数提供非法值时HeadlessException- 如果 GraphicsEnvironment.isHeadless() 返回 true。- 参见:
-
Scrollbar
public Scrollbar(int orientation, int value, int visible, int minimum, int maximum) throws HeadlessException 构造具有指定方向、初始值、可见量以及最小值和最大值的新滚动条。orientation参数必须采用两个值之一Scrollbar.HORIZONTAL或Scrollbar.VERTICAL,分别表示水平或垂直滚动条。提供给此构造函数的参数受
setValues(int, int, int, int)中描述的约束。- 参数:
orientation- 指示滚动条的方向。value——滚动条初始值visible- 滚动条的可见量,通常用气泡的大小表示minimum- 滚动条的最小值maximum- 滚动条的最大值- 抛出:
IllegalArgumentException- 当为orientation参数提供非法值时HeadlessException- 如果 GraphicsEnvironment.isHeadless() 返回 true。- 参见:
-
-
方法详情
-
addNotify
public void addNotify()创建Scrollbar的对等体。对等点允许您修改Scrollbar的外观,而无需更改其任何功能。 -
getOrientation
public int getOrientation()返回此滚动条的方向。- 指定者:
getOrientation在接口Adjustable中- 返回:
-
此滚动条的方向,
Scrollbar.HORIZONTAL或Scrollbar.VERTICAL - 参见:
-
setOrientation
public void setOrientation(int orientation) 设置此滚动条的方向。- 参数:
orientation- 此滚动条的方向,Scrollbar.HORIZONTAL或Scrollbar.VERTICAL- 抛出:
IllegalArgumentException- 如果为orientation提供的值不是合法值- 自从:
- 1.1
- 参见:
-
getValue
public int getValue()获取此滚动条的当前值。- 指定者:
getValue在接口Adjustable中- 返回:
- 此滚动条的当前值
- 参见:
-
setValue
public void setValue(int newValue) 将此滚动条的值设置为指定值。如果提供的值小于当前的
minimum或大于当前的maximum - visibleAmount,则根据需要替换minimum或maximum - visibleAmount。通常,程序应仅通过调用
setValues来更改滚动条的值。setValues方法同时同步设置滚动条的最小值、最大值、可见量和值属性,使它们相互一致。调用此方法不会触发
AdjustmentEvent。- 指定者:
setValue在接口Adjustable中- 参数:
newValue- 滚动条的新值- 参见:
-
getMinimum
public int getMinimum()获取此滚动条的最小值。- 指定者:
getMinimum在接口Adjustable中- 返回:
- 此滚动条的最小值
- 参见:
-
setMinimum
public void setMinimum(int newMinimum) 设置此滚动条的最小值。调用
setMinimum时,改变最小值,其他值(包括最大值、可见量、当前滚动条值)也改变为与新的最小值一致。通常,程序应仅通过调用
setValues来更改滚动条的最小值。setValues方法同时同步设置滚动条的最小值、最大值、可见量和值属性,使它们相互一致。请注意,将最小值设置为
Integer.MAX_VALUE将导致新的最小值设置为Integer.MAX_VALUE - 1。- 指定者:
setMinimum在接口Adjustable中- 参数:
newMinimum- 此滚动条的新最小值- 自从:
- 1.1
- 参见:
-
getMaximum
public int getMaximum()获取此滚动条的最大值。- 指定者:
getMaximum在接口Adjustable中- 返回:
- 此滚动条的最大值
- 参见:
-
setMaximum
public void setMaximum(int newMaximum) 设置此滚动条的最大值。调用
setMaximum时,最大值发生变化,其他值(包括最小值、可见量、当前滚动条值)也发生变化,与新的最大值保持一致。通常,程序应仅通过调用
setValues来更改滚动条的最大值。setValues方法同时同步设置滚动条的最小值、最大值、可见量和值属性,使它们相互一致。请注意,将最大值设置为
Integer.MIN_VALUE将导致新的最大值设置为Integer.MIN_VALUE + 1。- 指定者:
setMaximum在接口Adjustable中- 参数:
newMaximum- 此滚动条的新最大值- 自从:
- 1.1
- 参见:
-
getVisibleAmount
public int getVisibleAmount()获取此滚动条的可见量。当使用滚动条选择值范围时,可见量用于表示当前可见的值范围。滚动条气泡(也称为缩略图或滚动框)的大小,通常直观地表示可见量与滚动条范围的关系。请注意,根据平台的不同,可见数量属性的值可能不会通过气泡的大小直观地指示。
滚动条的气泡在不可移动时可能不会显示(例如,当它占据滚动条轨道的整个长度时,或者当滚动条被禁用时)。是否显示气泡不会影响
getVisibleAmount返回的值。- 指定者:
getVisibleAmount在接口Adjustable中- 返回:
- 此滚动条的可见量
- 自从:
- 1.1
- 参见:
-
getVisible
已弃用。从 JDK 1.1 版开始,由getVisibleAmount()取代。返回此滚动条的可见量。- 返回:
- 此滚动条的可见量
-
setVisibleAmount
public void setVisibleAmount(int newAmount) 设置此滚动条的可见量。当使用滚动条选择值范围时,可见量用于表示当前可见的值范围。滚动条气泡(也称为缩略图或滚动框)的大小,通常直观地表示可见量与滚动条范围的关系。请注意,根据平台的不同,可见数量属性的值可能不会通过气泡的大小直观地指示。
滚动条的气泡在不可移动时可能不会显示(例如,当它占据滚动条轨道的整个长度时,或者当滚动条被禁用时)。是否显示气泡不会影响
getVisibleAmount返回的值。如果提供的可见量小于
one或大于当前的maximum - minimum,则根据需要替换one或maximum - minimum。通常,程序应仅通过调用
setValues来更改滚动条的值。setValues方法同时同步设置滚动条的最小值、最大值、可见量和值属性,使它们相互一致。- 指定者:
setVisibleAmount在接口Adjustable中- 参数:
newAmount- 新的可见数量- 自从:
- 1.1
- 参见:
-
setUnitIncrement
public void setUnitIncrement(int v) 设置此滚动条的单位增量。单位增量是当用户激活滚动条的单位增量区域时增加或减去的值,通常是通过滚动条接收到的鼠标或键盘手势作为调整事件。单位增量必须大于零。尝试将单位增量设置为小于 1 的值将导致设置值 1。
在某些操作系统中,底层控件可以忽略此属性。
- 指定者:
setUnitIncrement在接口Adjustable中- 参数:
v- 增加或减少滚动条值的量- 自从:
- 1.1
- 参见:
-
setLineIncrement
已弃用。从 JDK 1.1 版开始,由setUnitIncrement(int)取代。设置此滚动条的单位增量。- 参数:
v- 增量值
-
getUnitIncrement
public int getUnitIncrement()获取此滚动条的单位增量。单位增量是当用户激活滚动条的单位增量区域时增加或减去的值,通常是通过滚动条接收到的鼠标或键盘手势作为调整事件。单位增量必须大于零。
在某些操作系统中,底层控件可以忽略此属性。
- 指定者:
getUnitIncrement在接口Adjustable中- 返回:
- 此滚动条的单位增量
- 自从:
- 1.1
- 参见:
-
getLineIncrement
已弃用。从 JDK 1.1 版开始,由getUnitIncrement()取代。返回此滚动条的单位增量。- 返回:
- 此滚动条的单位增量
-
setBlockIncrement
public void setBlockIncrement(int v) 设置此滚动条的块增量。块增量是当用户激活滚动条的块增量区域时增加或减去的值,通常通过滚动条接收的鼠标或键盘手势作为调整事件。块增量必须大于零。尝试将块增量设置为小于 1 的值将导致设置值 1。
- 指定者:
setBlockIncrement在接口Adjustable中- 参数:
v- 增加或减少滚动条值的量- 自从:
- 1.1
- 参见:
-
setPageIncrement
已弃用。从 JDK 1.1 版开始,由setBlockIncrement()取代。设置此滚动条的块增量。- 参数:
v- 块增量
-
getBlockIncrement
public int getBlockIncrement()获取此滚动条的块增量。块增量是当用户激活滚动条的块增量区域时增加或减去的值,通常通过滚动条接收的鼠标或键盘手势作为调整事件。块增量必须大于零。
- 指定者:
getBlockIncrement在接口Adjustable中- 返回:
- 此滚动条的块增量
- 自从:
- 1.1
- 参见:
-
getPageIncrement
已弃用。从 JDK 1.1 版开始,由getBlockIncrement()取代。返回此滚动条的块增量。- 返回:
- 此滚动条的块增量
-
setValues
public void setValues(int value, int visible, int minimum, int maximum) 为此滚动条设置四个属性的值:value、visibleAmount、minimum和maximum。如果为这些属性提供的值不一致或不正确,它们将被更改以确保一致性。该方法同时同步设置四个滚动条属性的值,保证这些属性的值相互一致。它强制执行以下约束:
maximum必须大于minimum,maximum - minimum不得大于Integer.MAX_VALUE,visibleAmount必须大于零。visibleAmount不得大于maximum - minimum,value不得小于minimum,value不得大于maximum - visibleAmount调用此方法不会触发
AdjustmentEvent。- 参数:
value- 是当前窗口中的位置visible——是滚动条的可见量minimum——是滚动条的最小值maximum- 是滚动条的最大值- 参见:
-
getValueIsAdjusting
public boolean getValueIsAdjusting()如果该值由于用户采取的操作而处于更改过程中,则返回 true。- 返回:
valueIsAdjusting属性的值- 自从:
- 1.4
- 参见:
-
setValueIsAdjusting
public void setValueIsAdjusting(boolean b) 设置valueIsAdjusting属性。- 参数:
b- 新的调整进行中状态- 自从:
- 1.4
- 参见:
-
addAdjustmentListener
添加指定的调整监听器以从此滚动条接收AdjustmentEvent的实例。如果 l 是null,则不会抛出异常并且不会执行任何操作。有关 AWT 线程模型的详细信息,请参阅 AWT 线程问题。
- 指定者:
addAdjustmentListener在接口Adjustable中- 参数:
l- 调整监听器- 自从:
- 1.1
- 参见:
-
removeAdjustmentListener
删除指定的调整监听器,使其不再从此滚动条接收AdjustmentEvent实例。如果 l 是null,则不会抛出异常并且不会执行任何操作。有关 AWT 线程模型的详细信息,请参阅 AWT 线程问题。
- 指定者:
removeAdjustmentListener在接口Adjustable中- 参数:
l- 调整监听器- 自从:
- 1.1
- 参见:
-
getAdjustmentListeners
返回在此滚动条上注册的所有调整监听的数组。- 返回:
-
此滚动条的所有
AdjustmentListeners 或空数组(如果当前未注册任何调整监听器) - 自从:
- 1.4
- 参见:
-
getListeners
返回当前在此Scrollbar上注册为FooListener的所有对象的数组。FooListener是使用addFooListener方法注册的。您可以使用类文字指定
listenerType参数,例如FooListener.class。例如,您可以使用以下代码查询Scrollbar c的鼠标监听器:MouseListener[] mls = (MouseListener[])(c.getListeners(MouseListener.class));
如果不存在这样的监听器,则此方法返回一个空数组。- 重写:
getListeners在类Component中- 类型参数:
T- 监听器的类型- 参数:
listenerType- 请求的监听器类型;此参数应指定从java.util.EventListener派生的接口- 返回:
-
在此组件上注册为
FooListener的所有对象的数组,如果没有添加此类监听器,则为空数组 - 抛出:
ClassCastException- 如果listenerType没有指定实现java.util.EventListener的类或接口- 自从:
- 1.3
- 参见:
-
processEvent
处理此滚动条上的事件。如果事件是AdjustmentEvent的实例,它会调用processAdjustmentEvent方法。否则,它会调用其超类的processEvent方法。请注意,如果事件参数为
null,则行为未指定且可能导致异常。- 重写:
processEvent在类Component中- 参数:
e- 事件- 自从:
- 1.1
- 参见:
-
processAdjustmentEvent
通过将此滚动条上发生的调整事件分派给任何已注册的AdjustmentListener对象来处理它们。除非为此组件启用调整事件,否则不会调用此方法。当发生以下情况之一时,将启用调整事件:
AdjustmentListener对象通过addAdjustmentListener注册。- 调整事件通过
enableEvents启用。
请注意,如果事件参数为
null,则行为未指定且可能导致异常。- 参数:
e- 调整事件- 自从:
- 1.1
- 参见:
-
paramString
返回表示此Scrollbar状态的字符串。此方法仅用于调试目的,返回字符串的内容和格式可能因实现而异。返回的字符串可能为空,但可能不是null。- 重写:
paramString在类Component中- 返回:
- 此滚动条的参数字符串
-
getAccessibleContext
获取与此Scrollbar关联的AccessibleContext。对于滚动条,AccessibleContext采用AccessibleAWTScrollBar的形式。如有必要,将创建一个新的AccessibleAWTScrollBar实例。- 指定者:
getAccessibleContext在接口Accessible中- 重写:
getAccessibleContext在类Component中- 返回:
-
一个
AccessibleAWTScrollBar作为这个ScrollBar的AccessibleContext - 自从:
- 1.3
-
getUnitIncrement()取代。