java.lang.Object
|
+----java.awt.Component
|
+----java.awt.Scrollbar
类 Scrollbar 描述一个滚动条,这是用户界面中常见的对象。滚动条提供简捷的方式,允许用户在一个指定范围内实现选择。下列三个垂直滚动条能作为选择红、绿和蓝颜色成分的滚动控制:
此例中的滚动条用与下列类似的代码创建:
redSlider=new Scrollbar(Scrollbar.VERTICAL, 0, 1, 0, 255); add(redSlider);
一个滚动条能可选地表示一个范围值。例如,如果一个滚动条用于显示滚动文本, "bubble" 或 "thumb" 的宽度表示可视的文本数。下面是表示一范围的滚动条:
bubble 表示的范围为该滚动条 可视的范围。此例中的水平滚动条用如下代码创建:
ranger = new Scrollbar(Scrollbar.HORIZONTAL, 0, 64, 0, 255); add(ranger);
注意最大值 255 是该滚动条的滑动块的最大值。滚动条滑动的实际宽度是 255 + 64。当滚动条设置为最大值时,滑动块的左边值是 255, 右边值是 255 + 64。
通常,用户通过移动鼠标来改变滚动条的值。例如,用户可以上下拖动滚动条的滑动块,或在滚动条的单位增量位置或块增量位置点击。键盘指示符也能映射到滚动条。通过转换,Page Up 和 Page Down 键的功能等价于在滚动条的块增量和块减量区域点击鼠标。
当用户改变滚动条的值时,该滚动条接受到一个 AdjustmentEvent 的实例。滚动条处理此事件,将它传递到任一个已注册的监听者。
希望接收滚动条值变化的任一对象,应实现包 java.awt.event 中定义的 AdjustmentListener 接口。调用 addAdjustmentListener 和
removeAdjustmentListener 方法能动态地添加或删除监听者。
类 AdjustmentEvent 定义了五种调整事件,如下所示:
AdjustmentEvent.TRACK 事件。
AdjustmentEvent.UNIT_INCREMENT 事件。
AdjustmentEvent.UNIT_DECREMENT 事件。
AdjustmentEvent.BLOCK_DECREMENT
事件。如果用户使用定义了 Page Up 功能键的键盘,那么通过转换,在按下 Page Up 功能键时也发送此事件。
AdjustmentEvent.BLOCK_DECREMENT
事件。如果用户使用定义了 Page Down 功能键的键盘,那么通过转换,在按下 Page Down 功能键时也发送此事件。
JDK 1.0 事件系统支持向后兼容,但是新版不鼓励使用它。 JDK 1.1 中提到的五种调整事件,与以前的 JDK 版中的有关滚动条的五种事件对应。下面列表给出调整事件类型和它对应的在 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
AdjustmentEvent 事件实例。
AdjustmentListener 对象。
AdjustmentEvent 事件实例。
public static final int HORIZONTAL
public static final int VERTICAL
public Scrollbar()
public Scrollbar(int orientation)
参数 orientation 必定为 Scrollbar.HORIZONTAL,
或 Scrollbar.VERTICAL,
相应地表示一个水平的或垂直的滚动条。
orientation 的值非法。
public Scrollbar(int orientation,
int value,
int visible,
int minimum,
int maximum)
参数 orientation 必定为 Scrollbar.HORIZONTAL,
或 Scrollbar.VERTICAL,
相应地表示一个水平的或垂直的滚动条。
如果指定的最大值比最小值小,那么最大值取此最小值。如果初始值比最小值小,那么将此初始值转换为最小值;如果它比最大值大,那么将它转换为最大值。
public void addNotify()
public int getOrientation()
Scrollbar.HORIZONTAL 或
Scrollbar.VERTICAL。
public void setOrientation(int orientation)
Scrollbar.HORIZONTAL 或
Scrollbar.VERTICAL。
orientation 值不是一个合法值。
public int getValue()
public synchronized void setValue(int newValue)
如果指定值比当前的最小值小或比当前的最大值大,那么替换两者之一都是正确的。
通常,程序应调用 setValues 方法改变滚动条值。
setValues 方法将同时同步设置一个滚动条的最小值、最大值、可视数和值属性,直到它们相互保持一致。
public int getMinimum()
public synchronized void setMinimum(int newMinimum)
通常,程序仅能调用 setValues 方法改变滚动条的最小值。
setValues 方法将同时同步设置一个滚动条的最小值、最大值、可视数和值属性,直到它们相互保持一致。
public int getMaximum()
public synchronized void setMaximum(int newMaximum)
通常,程序仅能调用 setValues 方法改变滚动条的最大值。
setValues 方法将同时同步设置一个滚动条的最小值、最大值、可视数和值属性,直到它们相互保持一致。
public int getVisibleAmount()
滚动条的可见数量是它的滑动块宽度表示的相应范围值。用于决定滚动条的块增量。
public int getVisible()
getVisibleAmount() 方法替换。
public synchronized void setVisibleAmount(int newAmount)
滚动条的可见数量是它的滑动块宽度表示的相应范围值。 用于决定滚动条的块增量。
通常,程序应调用 setValues 方法改变滚动条值。
setValues 方法将同时同步设置一个滚动条的最小值、最大值、可视数和值属性,直到它们相互保持一致。
public synchronized void setUnitIncrement(int v)
当用户激活滚动条的单位增量区时,被添加的单位增量,通常通过鼠标或键盘使滚动条接收一个调整事件。
public void setLineIncrement(int v)
setUnitIncrement(int) 方法替换。
public int getUnitIncrement()
当用户激活滚动条的单位增量区时,被添加(或减少)的单位增量,通常通过鼠标或键盘使滚动条接收一个调整事件。
public int getLineIncrement()
getUnitIncrement()
方法替换。
public synchronized void setBlockIncrement(int v)
当用户激活滚动条的块增量区时,被添加(或减少)的块增量,通常通过鼠标或键盘使滚动条接收一个调整事件。
public void setPageIncrement(int v)
setBlockIncrement() 方法替换。
public int getBlockIncrement()
当用户激活滚动条的块增量区时,被添加(或减少)的块增量,通常通过鼠标或键盘使滚动条接收一个调整事件。
public int getPageIncrement()
getBlockIncrement() 方法替换。
public synchronized void setValues(int value,
int visible,
int minimum,
int maximum)
此方法同时同步设置滚动条的四个参数值,以使他们保持一致。它强制使最大值不能小于最小值,滚动条的取值不能小于最小值、大于最大值。
public synchronized void addAdjustmentListener(AdjustmentListener l)
AdjustmentEvent 事件实例。
public synchronized void removeAdjustmentListener(AdjustmentListener l)
AdjustmentEvent 事件实例。
protected void processEvent(AWTEvent e)
AdjustmentEvent 的一个实例,该方法调用 processAdjustmentEvent 方法。
否则,它调用它的父类的 processEvent 方法。
protected void processAdjustmentEvent(AdjustmentEvent e)
AdjustmentListener 对象。
除非调整事件对此组件是有效的,否则不能调用此方法。 当如下条件之一发生时,调整事件是有效的:
addActionListener 方法,登记了一个
ActionListener 对象。
enableEvents 方法使动作事件有效。
protected String paramString()