|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object java.util.EventObject java.awt.AWTEvent java.awt.event.ComponentEvent java.awt.event.InputEvent java.awt.event.MouseEvent java.awt.event.MouseWheelEvent
public class MouseWheelEvent
指示鼠标滚轮在组件中滚动的事件。
滚轮鼠标是一种用滚轮代替中间按键的鼠标。可朝向用户或背离用户旋转此滚轮。尽管鼠标滚轮也有其他用途,但最主要的是用于滚动。
MouseWheelEvent 对象传递给每一个使用组件的 addMouseWheelListener
方法注册接收“感兴趣”鼠标事件的 MouseWheelListener
对象。所有此类侦听器对象都获得包含鼠标事件的 MouseEvent
。
由于鼠标滚轮与滚动 Component 的特殊关系,传递 MouseWheelEvent 与传递其他 MouseEvent 稍有不同。这是因为,其他 MouseEvent 通常影响鼠标光标正下方 Component 的更改(如单击某个按钮时),而 MouseWheelEvent 常会在远离鼠标光标处产生影响(对 ScrollPane 中的某个 Component 滚动滚轮就能滚动 ScrollPane 上的某个 Scrollbar)。
MouseWheelEvent 从鼠标光标下的 Component 开始传递。如果在该 Component 上没有启用 MouseWheelEvent,则把事件传递到首个启用 MouseWheelEvent 的祖先 Container。这通常是启用了滚轮滚动的 ScrollPane。源 Component 和 x、y 坐标都是相对于该事件的最终目标(ScrollPane)。这就允许将复杂的 GUI 不加修改地安装到 ScrollPane 中,并让传递到 ScrollPane 的所有 MouseWheelEvent 能够滚动。
某些 AWT Component 是用本机小部件实现的,这些小部件显示了它们自己的滚动条,并能自行处理滚动。这种特殊的 Component 因平台而异。当在这些 Component 上移动鼠标滚轮时,事件将直接传递到本机小部件而不会传播到其祖先。
各种平台提供在移动鼠标滚轮时应该发生的自定义滚动量。两个最常见的设置是滚动一定的“单位”数(通常是基于文本的组件中的文本行),或者整个“块”(类似于 page-up/page-down)。MouseWheelEvent 提供了符合基础平台设置的各种方法。用户可在任何时间改变这些平台设置。MouseWheelEvent 反映最新的设置。
MouseWheelListener
,
ScrollPane
,
ScrollPane.setWheelScrollingEnabled(boolean)
,
JScrollPane
,
JScrollPane.setWheelScrollingEnabled(boolean)
,
序列化表格字段摘要 | |
---|---|
static int |
WHEEL_BLOCK_SCROLL
表示按“块”进行滚动的常量(如使用 page-up、page-down 键进行滚动) |
static int |
WHEEL_UNIT_SCROLL
表示按“单位”进行滚动的常量(如使用方向键进行滚动) |
从类 java.awt.event.MouseEvent 继承的字段 |
---|
BUTTON1, BUTTON2, BUTTON3, MOUSE_CLICKED, MOUSE_DRAGGED, MOUSE_ENTERED, MOUSE_EXITED, MOUSE_FIRST, MOUSE_LAST, MOUSE_MOVED, MOUSE_PRESSED, MOUSE_RELEASED, MOUSE_WHEEL, NOBUTTON |
从类 java.awt.event.ComponentEvent 继承的字段 |
---|
COMPONENT_FIRST, COMPONENT_HIDDEN, COMPONENT_LAST, COMPONENT_MOVED, COMPONENT_RESIZED, COMPONENT_SHOWN |
从类 java.util.EventObject 继承的字段 |
---|
source |
构造方法摘要 | |
---|---|
MouseWheelEvent(Component source,
int id,
long when,
int modifiers,
int x,
int y,
int clickCount,
boolean popupTrigger,
int scrollType,
int scrollAmount,
int wheelRotation)
构造一个具有指定源组件、类型、修饰符、坐标、滚动类型、滚动量和滚轮旋转的 MouseWheelEvent 。 |
方法摘要 | |
---|---|
int |
getScrollAmount()
返回为响应此事件应滚动的单位数。 |
int |
getScrollType()
返回为响应此事件应发生的滚动类型。 |
int |
getUnitsToScroll()
这是帮助实现常用 MouseWheelListener 的便捷方法,以使 ScrollPane 或 JScrollPane 的滚动量符合平台的设置。 |
int |
getWheelRotation()
返回鼠标滚轮旋转的“卡嗒声”数目。 |
String |
paramString()
返回标识此事件的参数字符串。 |
从类 java.awt.event.MouseEvent 继承的方法 |
---|
getButton, getClickCount, getMouseModifiersText, getPoint, getX, getY, isPopupTrigger, translatePoint |
从类 java.awt.event.InputEvent 继承的方法 |
---|
consume, getModifiers, getModifiersEx, getModifiersExText, getWhen, isAltDown, isAltGraphDown, isConsumed, isControlDown, isMetaDown, isShiftDown |
从类 java.awt.event.ComponentEvent 继承的方法 |
---|
getComponent |
从类 java.awt.AWTEvent 继承的方法 |
---|
getID, setSource, toString |
从类 java.util.EventObject 继承的方法 |
---|
getSource |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
字段详细信息 |
---|
public static final int WHEEL_UNIT_SCROLL
getScrollType()
,
常量字段值public static final int WHEEL_BLOCK_SCROLL
getScrollType()
,
常量字段值构造方法详细信息 |
---|
public MouseWheelEvent(Component source, int id, long when, int modifiers, int x, int y, int clickCount, boolean popupTrigger, int scrollType, int scrollAmount, int wheelRotation)
MouseWheelEvent
。
注意,传递无效的 id
会导致不明确的行为。如果 source
为 null
,则此方法抛出 IllegalArgumentException
。
source
- 产生该事件的 Component
id
- 标识事件的整数when
- 给出事件发生时间的 long 值modifiers
- 事件期间按下的组合键(如 shift、ctrl、alt、meta)x
- 鼠标位置的水平 x 坐标y
- 鼠标位置的垂直 y 坐标clickCount
- 与事件关联的鼠标单击数popupTrigger
- 一个 boolean 值,如果此事件是弹出菜单的触发器,则为 truescrollType
- 为响应此事件所应采取的滚动类型;有效值有 WHEEL_UNIT_SCROLL
和 WHEEL_BLOCK_SCROLL
scrollAmount
- 对于 scrollType WHEEL_UNIT_SCROLL
,是要滚动的单位数wheelRotation
- 鼠标滚轮的旋转量(“卡嗒声”的数目)
IllegalArgumentException
- 如果 source
为 nullMouseEvent.MouseEvent(java.awt.Component, int, long, int, int, int, int, boolean)
方法详细信息 |
---|
public int getScrollType()
Adjustable.getUnitIncrement()
,
Adjustable.getBlockIncrement()
,
Scrollable.getScrollableUnitIncrement(java.awt.Rectangle, int, int)
,
Scrollable.getScrollableBlockIncrement(java.awt.Rectangle, int, int)
public int getScrollAmount()
getScrollType
返回 MouseWheelEvent.WHEEL_UNIT_SCROLL
时才有效。
getScrollType
返回 MouseWheelEvent.WHEEL_BLOCK_SCROLL
,则为不明确的值getScrollType()
public int getWheelRotation()
public int getUnitsToScroll()
ScrollPane
和 JScrollPane
已内置了此功能。)
当滚动类型是 MouseWheelEvent.WHEEL_UNIT_SCROLL 时,此方法返回要滚动的单位数,并且应该仅在 getScrollType
返回 MouseWheelEvent.WHEEL_UNIT_SCROLL 时才调用此方法。
滚动方向、滚轮移动量和滚轮滚动的平台设置都要考虑在内。此方法没有也不能考虑 Adjustable/Scrollable 单位增量值,因为该值随滚动组件的不同而不同。
下面的简化示例说明了在侦听器中如何使用此方法:
mouseWheelMoved(MouseWheelEvent event) { ScrollPane sp = getScrollPaneFromSomewhere(); Adjustable adj = sp.getVAdjustable() if (MouseWheelEvent.getScrollType() == WHEEL_UNIT_SCROLL) { int totalScrollAmount = event.getUnitsToScroll() * adj.getUnitIncrement(); adj.setValue(adj.getValue() + totalScrollAmount); } }
getScrollType()
,
getScrollAmount()
,
MouseWheelListener
,
Adjustable
,
Adjustable.getUnitIncrement()
,
Scrollable
,
Scrollable.getScrollableUnitIncrement(java.awt.Rectangle, int, int)
,
ScrollPane
,
ScrollPane.setWheelScrollingEnabled(boolean)
,
JScrollPane
,
JScrollPane.setWheelScrollingEnabled(boolean)
public String paramString()
MouseEvent
中的 paramString
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。