|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
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")的宽度来表示可视的文本数。下面是表示某一范围的滚动条:
在这个例子中,滑动块表示的值范围是可视量。此例中的水平滚动条可以用以下代码来创建:
ranger = new Scrollbar(Scrollbar.HORIZONTAL, 0, 60, 0, 300); add(ranger);
注意,滚动条的实际最大值是 maximum
减去 visible amount
。在前面的例子中,因为 maximum
是 300,visible amount
是 60,所以实际最大值是 240。滚动条轨道的范围是 0 - 300。滑动块的左侧指示了滚动条的值。
通常,用户通过使用鼠标来改变滚动条的值。例如,用户可以上下拖动滚动条的滑动块,或单击滚动条的单位增量或块增量区域。键盘动作也能映射到滚动条。按照惯例,Page Up 和 Page Down 键等同于单击滚动条的块增量和块减量区域。
当用户改变滚动条的值时,滚动条接收一个 AdjustmentEvent
实例。滚动条处理此事件,将它传递给所有已注册的侦听器。
任何希望滚动条值发生变化时被通知的对象都应该实现包 java.awt.event
中定义的 AdjustmentListener
接口。调用 addAdjustmentListener
和 removeAdjustmentListener
方法能动态地添加或删除侦听器。
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 class |
Scrollbar.AccessibleAWTScrollBar 此类实现 Scrollbar 类的可访问性支持。 |
从类 java.awt.Component 继承的嵌套类/接口 |
---|
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy |
字段摘要 | |
---|---|
static int |
HORIZONTAL 指示一个水平滚动条的常量。 |
static int |
VERTICAL 指示一个垂直滚动条的常量。 |
从类 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) 构造一个新的滚动条,它具有指定的方向、初始值、可视量、最小值和最大值。 |
方法摘要 | ||
---|---|---|
void |
addAdjustmentListener(AdjustmentListener l) 添加指定的调整侦听器,以接收来自此滚动条的 AdjustmentEvent 实例。 |
|
void |
addNotify() 创建 Scrollbar 的同位体。 |
|
AccessibleContext |
getAccessibleContext() 获得与此 Scrollbar 相关的 AccessibleContext 。 |
|
AdjustmentListener[] |
getAdjustmentListeners() 返回在此滚动条上所有已注册调整侦听器的数组。 |
|
int |
getBlockIncrement() 获得此滚动条的块增量。 |
|
int |
getLineIncrement() 已过时。 从 JDK version 1.1 开始,由 getUnitIncrement() 取代。 |
|
|
getListeners(Class<T> listenerType) 返回目前已在此 Scrollbar 上注册为 FooListener 的所有对象的数组。 |
|
int |
getMaximum() 获得此滚动条的最大值。 |
|
int |
getMinimum() 获得此滚动条的最小值。 |
|
int |
getOrientation() 返回此滚动条的方向。 |
|
int |
getPageIncrement() 已过时。 从 JDK version 1.1 开始,由 getBlockIncrement() 取代。 |
|
int |
getUnitIncrement() 获得此滚动条的单位增量。 |
|
int |
getValue() 获得此滚动条的当前值。 |
|
boolean |
getValueIsAdjusting() 如果该值作为用户执行操作的结果正处于改变过程中,则返回 true。 |
|
int |
getVisible() 已过时。 从 JDK version 1.1 开始,由 getVisibleAmount() 取代。 |
|
int |
getVisibleAmount() 获得此滚动条的可视量。 |
|
protected String |
paramString() 返回表示此 Scrollbar 的状态的字符串表示形式。 |
|
protected void |
processAdjustmentEvent(AdjustmentEvent e) 处理此滚动条上发生的调整事件,方法是将其指派到任意已注册的 AdjustmentListener 对象。 |
|
protected void |
processEvent(AWTEvent e) 处理在滚动条上发生的事件。 |
|
void |
removeAdjustmentListener(AdjustmentListener l) 移除指定的调整侦听器,不再接收来自此滚动条的 AdjustmentEvent 实例。 |
|
void |
setBlockIncrement(int v) 设置此滚动条的块增量。 |
|
void |
setLineIncrement(int v) 已过时。 从 JDK version 1.1 开始,由 setUnitIncrement(int) 取代。 |
|
void |
setMaximum(int newMaximum) 设置此滚动条的最大值。 |
|
void |
setMinimum(int newMinimum) 设置此滚动条的最小值。 |
|
void |
setOrientation(int orientation) 设置此滚动条的方向。 |
|
void |
setPageIncrement(int v) 已过时。 从 JDK version 1.1 开始,由 setBlockIncrement() 取代。 |
|
void |
setUnitIncrement(int v) 设置此滚动条的单位增量。 |
|
void |
setValue(int newValue) 将此滚动条的值设置为指定值。 |
|
void |
setValueIsAdjusting(boolean b) 设置 valueIsAdjusting 属性。 |
|
void |
setValues(int value, int visible, int minimum, int maximum) 设置此滚动条的四个属性值: value 、visibleAmount 、minimum 和 maximum 。 |
|
void |
setVisibleAmount(int newAmount) 设置此滚动条的可视量。 |
从类 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.HORIZONTAL
或Scrollbar.VERTICAL
这两个值之一,分别指示滚动条是水平滚动条,还是垂直滚动条。- 参数:
-
orientation
- 指示滚动条的方向 - 抛出:
-
IllegalArgumentException
- 在提供不合法的orientation
参数值时 -
HeadlessException
- 如果 GraphicsEnvironment.isHeadless() 返回 true。 - 另请参见:
-
GraphicsEnvironment.isHeadless()