所有类


java.awt
类 Scrollbar

java.lang.Object
  继承者 java.awt.Component
      继承者 java.awt.Scrollbar
所有已实现的接口:
Adjustable, ImageObserver, MenuContainer, Serializable, Accessible

public class Scrollbar
   
   
   
   
   
extends Component
implements Adjustable, Accessible

Scrollbar 类描述了一个滚动条,这是大家所熟悉的用户界面对象。滚动条提供了一个允许用户在一定范围的值中进行选择的便捷方式。可以将以下三个垂直滚动条用作滑动块控件,以选择红、绿和蓝三种颜色的分量:

图像并排显示了三个垂直滑动块。

在此例中,每个滚动条都是使用类似于下面的代码创建的:


 redSlider=new Scrollbar(Scrollbar.VERTICAL, 0, 1, 0, 255);
 add(redSlider);
 

此外,滚动条还可以表示某一范围的值。例如,如果滚动条用于滚动文本,则可以使用 "bubble"(也称为 "thumb" 或 "scroll box")的宽度来表示可视的文本数。下面是表示某一范围的滚动条:

图像显示了水平滑动块,其初始范围为 0,终止范围为 300。滑动块被标记为 60。

在这个例子中,滑动块表示的值范围是可视量。此例中的水平滚动条可以用以下代码来创建:


 ranger = new Scrollbar(Scrollbar.HORIZONTAL, 0, 60, 0, 300);
 add(ranger);
 

注意,滚动条的实际最大值是 maximum 减去 visible amount。在前面的例子中,因为 maximum 是 300,visible amount 是 60,所以实际最大值是 240。滚动条轨道的范围是 0 - 300。滑动块的左侧指示了滚动条的值。

通常,用户通过使用鼠标来改变滚动条的值。例如,用户可以上下拖动滚动条的滑动块,或单击滚动条的单位增量或块增量区域。键盘动作也能映射到滚动条。按照惯例,Page UpPage Down 键等同于单击滚动条的块增量和块减量区域。

当用户改变滚动条的值时,滚动条接收一个 AdjustmentEvent 实例。滚动条处理此事件,将它传递给所有已注册的侦听器。

任何希望滚动条值发生变化时被通知的对象都应该实现包 java.awt.event 中定义的 AdjustmentListener 接口。调用 addAdjustmentListenerremoveAdjustmentListener 方法能动态地添加或删除侦听器。

AdjustmentEvent 类定义了五种调整事件,如下所示:

  • 当用户拖动滚动条的滑动块时,发送 AdjustmentEvent.TRACK
  • 当用户单击水平滚动条的左箭头或垂直滚动条的上箭头,或从键盘做出等效动作时,发送 AdjustmentEvent.UNIT_INCREMENT
  • 当用户单击水平滚动条的右箭头或垂直滚动条的下箭头,或从键盘做出等效动作时,发送 AdjustmentEvent.UNIT_DECREMENT
  • 当用户单击水平滚动条滑动块左边的轨道,或垂直滚动条滑动块上边的轨道时,发送 AdjustmentEvent.BLOCK_INCREMENT。按照惯例,如果用户使用定义了 Page Up 键的键盘,则 Page Up 键是等效的。
  • 当用户单击水平滚动条滑动块右边的轨道,或垂直滚动条滑动块下边的轨道时,发送 AdjustmentEvent.BLOCK_DECREMENT。按照惯例,如果用户使用定义了 Page Down 键的键盘,则 Page Down 键是等效的。

为了向后兼容,也支持 JDK 1.0 事件系统,但是该平台的新版本不鼓励使用它。JDK 1.1 中介绍的五种调整事件,与以前该平台版本中的有关滚动条的五种事件对应。下面列表给出了调整事件类型和它对应的 JDK 1.0 中的替换事件类型。

  • AdjustmentEvent.TRACK 替换 Event.SCROLL_ABSOLUTE
  • AdjustmentEvent.UNIT_INCREMENT 替换 Event.SCROLL_LINE_UP
  • AdjustmentEvent.UNIT_DECREMENT 替换 Event.SCROLL_LINE_DOWN
  • AdjustmentEvent.BLOCK_INCREMENT 替换 Event.SCROLL_PAGE_UP
  • AdjustmentEvent.BLOCK_DECREMENT 替换 Event.SCROLL_PAGE_DOWN

:我们建议只对值的选择使用 Scrollbar。如果想在容器中实现一个可滚动的组件,那么建议您使用 ScrollPane。如果使用 Scrollbar 来实现这一目的,那么可能会遇到绘制、键处理、大小调整和分区问题。

从以下版本开始:
JDK1.0
另请参见:
AdjustmentEvent, AdjustmentListener, 序列化表格

嵌套类摘要
protected  classScrollbar.AccessibleAWTScrollBar
          此类实现 Scrollbar 类的可访问性支持。
 
从类 java.awt.Component 继承的嵌套类/接口
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
字段摘要
static intHORIZONTAL
          指示一个水平滚动条的常量。
static intVERTICAL
          指示一个垂直滚动条的常量。
 
从类 java.awt.Component 继承的字段
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
 
构造方法摘要
Scrollbar()
          构造一个新的垂直滚动条。
Scrollbar(int orientation)
          构造一个具有指定方向的新滚动条。
Scrollbar(int orientation, int value, int visible, int minimum, int maximum)
          构造一个新的滚动条,它具有指定的方向、初始值、可视量、最小值和最大值。
 
方法摘要
 voidaddAdjustmentListener(AdjustmentListener l)
          添加指定的调整侦听器,以接收来自此滚动条的 AdjustmentEvent 实例。
 voidaddNotify()
          创建 Scrollbar 的同位体。
 AccessibleContextgetAccessibleContext()
          获得与此 Scrollbar 相关的 AccessibleContext
 AdjustmentListener[]getAdjustmentListeners()
          返回在此滚动条上所有已注册调整侦听器的数组。
 intgetBlockIncrement()
          获得此滚动条的块增量。
 intgetLineIncrement()
          已过时。 从 JDK version 1.1 开始,由 getUnitIncrement() 取代。
<T extends EventListener>
T[]
getListeners(Class<T> listenerType)
          返回目前已在此 Scrollbar 上注册为 FooListener 的所有对象的数组。
 intgetMaximum()
          获得此滚动条的最大值。
 intgetMinimum()
          获得此滚动条的最小值。
 intgetOrientation()
          返回此滚动条的方向。
 intgetPageIncrement()
          已过时。 从 JDK version 1.1 开始,由 getBlockIncrement() 取代。
 intgetUnitIncrement()
          获得此滚动条的单位增量。
 intgetValue()
          获得此滚动条的当前值。
 booleangetValueIsAdjusting()
          如果该值作为用户执行操作的结果正处于改变过程中,则返回 true。
 intgetVisible()
          已过时。 从 JDK version 1.1 开始,由 getVisibleAmount() 取代。
 intgetVisibleAmount()
          获得此滚动条的可视量。
protected  StringparamString()
          返回表示此 Scrollbar 的状态的字符串表示形式。
protected  voidprocessAdjustmentEvent(AdjustmentEvent e)
          处理此滚动条上发生的调整事件,方法是将其指派到任意已注册的 AdjustmentListener 对象。
protected  voidprocessEvent(AWTEvent e)
          处理在滚动条上发生的事件。
 voidremoveAdjustmentListener(AdjustmentListener l)
          移除指定的调整侦听器,不再接收来自此滚动条的 AdjustmentEvent 实例。
 voidsetBlockIncrement(int v)
          设置此滚动条的块增量。
 voidsetLineIncrement(int v)
          已过时。 从 JDK version 1.1 开始,由 setUnitIncrement(int) 取代。
 voidsetMaximum(int newMaximum)
          设置此滚动条的最大值。
 voidsetMinimum(int newMinimum)
          设置此滚动条的最小值。
 voidsetOrientation(int orientation)
          设置此滚动条的方向。
 voidsetPageIncrement(int v)
          已过时。 从 JDK version 1.1 开始,由 setBlockIncrement() 取代。
 voidsetUnitIncrement(int v)
          设置此滚动条的单位增量。
 voidsetValue(int newValue)
          将此滚动条的值设置为指定值。
 voidsetValueIsAdjusting(boolean b)
          设置 valueIsAdjusting 属性。
 voidsetValues(int value, int visible, int minimum, int maximum)
          设置此滚动条的四个属性值:valuevisibleAmountminimummaximum
 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, 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, getPeer, 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, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, update, validate
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

字段详细信息

HORIZONTAL

public static final int HORIZONTAL
指示一个水平滚动条的常量。

另请参见:
常量字段值

VERTICAL

public static final int VERTICAL
指示一个垂直滚动条的常量。

另请参见:
常量字段值
构造方法详细信息

Scrollbar

public Scrollbar()
          throws HeadlessException
构造一个新的垂直滚动条。滚动条的默认属性列在下表中:

属性描述默认值
方向指示滚动条是垂直的
或水平的
Scrollbar.VERTICAL
控制滚动条的滑动块
位置的值
0
可视量滚动条范围的可视量,
通常由滚动条的滑动块
的大小表示
10
最小值滚动条的最小值0
最大值滚动条的最大值100
unit increment在按下 Line Up 或 Line Down 键时,
或者单击滚动条
的末端箭头时,
值更改的量
1
block increment在按下 Page Up 或 Page Down 键时,
或在滑动块的两侧
单击滚动条轨道时,
值更改的量
10

抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true。
另请参见:
GraphicsEnvironment.isHeadless()

Scrollbar

public Scrollbar(int orientation)
          throws HeadlessException
构造一个具有指定方向的新滚动条。

orientation 参数必须是 Scrollbar.HORIZONTALScrollbar.VERTICAL 这两个值之一,分别指示滚动条是水平滚动条,还是垂直滚动条。

参数:
orientation - 指示滚动条的方向
抛出:
IllegalArgumentException - 在提供不合法的 orientation 参数值时
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true。
另请参见:
GraphicsEnvironment.isHeadless()