- 所有已实现的接口:
Serializable
滚轮鼠标是用滚轮代替中间按钮的鼠标。该轮可以朝向或远离用户旋转。鼠标滚轮最常用于滚动,但也可以用于其他用途。
MouseWheelEvent 对象被传递给每个注册为使用组件的 addMouseWheelListener 方法接收“有趣”鼠标事件的 MouseWheelListener 对象。每个这样的监听器对象都会获得一个包含鼠标事件的MouseEvent。
由于鼠标滚轮与滚动组件的特殊关系,MouseWheelEvents 的传递方式与其他 MouseEvents 略有不同。这是因为,虽然其他 MouseEvents 通常会影响鼠标光标正下方的 Component 上的更改(例如,单击按钮时),但 MouseWheelEvents 通常会在远离鼠标光标的地方产生影响(在 ScrollPane 内的 Component 上移动滚轮应该滚动 ScrollPane 上的滚动条之一)。
MouseWheelEvents 从鼠标光标下方的 Component 开始传递。如果组件上未启用 MouseWheelEvents,则事件将传送到启用了 MouseWheelEvents 的第一个祖先 Container。这通常是启用滚轮滚动的 ScrollPane。源组件和 x,y 坐标将相对于事件的最终目的地(ScrollPane)。这允许在不修改 ScrollPane 的情况下将复杂的 GUI 安装到 ScrollPane 中,并允许将所有 MouseWheelEvents 传递到 ScrollPane 以进行滚动。
一些 AWT 组件是使用本机小部件实现的,这些小部件显示自己的滚动条并处理自己的滚动。适用于此的特定组件因平台而异。当鼠标滚轮移到其中一个组件上时,事件将直接传送到本机小部件,而不是传播到祖先。
平台提供了对移动鼠标滚轮时应该发生的滚动量的自定义。两个最常见的设置是滚动一定数量的“单位”(通常是基于文本的组件中的文本行)或整个“块”(类似于向上翻页/向下翻页)。 MouseWheelEvent 提供了符合底层平台设置的方法。用户可以随时更改这些平台设置。 MouseWheelEvents 反映了最新的设置。
MouseWheelEvent 类包括获取鼠标滚轮旋转“点击”次数的方法。 getWheelRotation() 方法返回与轮子旋转的凹口数相对应的整数“咔嗒声”。除了此方法外,MouseWheelEvent 类还提供了 getPreciseWheelRotation() 方法,该方法在发生部分旋转时返回双倍的“点击次数”。 getPreciseWheelRotation() 方法在鼠标支持高分辨率滚轮(例如没有槽口的自由旋转滚轮)时很有用。应用程序可以通过使用此方法更精确地处理鼠标滚轮事件而受益,从而使视觉感知更流畅。
- 自从:
- 1.4
- 参见:
-
字段摘要
字段修饰符和类型Field描述static final int表示按“块”滚动的常量(如使用向上翻页、向下翻页键滚动)static final int表示按“单位”滚动的常量(如使用箭头键滚动)在类 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.InputEvent 中声明的字段
ALT_DOWN_MASK, ALT_GRAPH_DOWN_MASK, ALT_GRAPH_MASK, ALT_MASK, BUTTON1_DOWN_MASK, BUTTON1_MASK, BUTTON2_DOWN_MASK, BUTTON2_MASK, BUTTON3_DOWN_MASK, BUTTON3_MASK, CTRL_DOWN_MASK, CTRL_MASK, META_DOWN_MASK, META_MASK, SHIFT_DOWN_MASK, SHIFT_MASK在类 java.awt.event.ComponentEvent 中声明的字段
COMPONENT_FIRST, COMPONENT_HIDDEN, COMPONENT_LAST, COMPONENT_MOVED, COMPONENT_RESIZED, COMPONENT_SHOWN在类 java.awt.AWTEvent 中声明的字段
ACTION_EVENT_MASK, ADJUSTMENT_EVENT_MASK, COMPONENT_EVENT_MASK, consumed, CONTAINER_EVENT_MASK, FOCUS_EVENT_MASK, HIERARCHY_BOUNDS_EVENT_MASK, HIERARCHY_EVENT_MASK, id, INPUT_METHOD_EVENT_MASK, INVOCATION_EVENT_MASK, ITEM_EVENT_MASK, KEY_EVENT_MASK, MOUSE_EVENT_MASK, MOUSE_MOTION_EVENT_MASK, MOUSE_WHEEL_EVENT_MASK, PAINT_EVENT_MASK, RESERVED_ID_MAX, TEXT_EVENT_MASK, WINDOW_EVENT_MASK, WINDOW_FOCUS_EVENT_MASK, WINDOW_STATE_EVENT_MASK在类 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对象。MouseWheelEvent(Component source, int id, long when, int modifiers, int x, int y, int xAbs, int yAbs, int clickCount, boolean popupTrigger, int scrollType, int scrollAmount, int wheelRotation) 使用指定的源组件、类型、修饰符、坐标、绝对坐标、滚动类型、滚动量和滚轮旋转构造一个MouseWheelEvent对象。MouseWheelEvent(Component source, int id, long when, int modifiers, int x, int y, int xAbs, int yAbs, int clickCount, boolean popupTrigger, int scrollType, int scrollAmount, int wheelRotation, double preciseWheelRotation) 使用指定的源组件、类型、修饰符、坐标、绝对坐标、滚动类型、滚动量和滚轮旋转构造一个MouseWheelEvent对象。 -
方法总结
修饰符和类型方法描述double返回鼠标滚轮旋转的“点击”次数,作为双精度值。int返回每次单击鼠标滚轮旋转应滚动的单位数。int返回响应此事件应发生的滚动类型。int这是一种方便的方法,可帮助实现常见情况的 MouseWheelListener - 将 ScrollPane 或 JScrollPane 滚动符合平台设置的量。int以整数形式返回鼠标滚轮旋转的“点击”次数。返回标识此事件的参数字符串。在类 java.awt.event.MouseEvent 中声明的方法
getButton, getClickCount, getLocationOnScreen, getMouseModifiersText, getPoint, getX, getXOnScreen, getY, getYOnScreen, isPopupTrigger, translatePoint在类 java.awt.event.InputEvent 中声明的方法
consume, getMaskForButton, getModifiers, getModifiersEx, getModifiersExText, getWhen, isAltDown, isAltGraphDown, isConsumed, isControlDown, isMetaDown, isShiftDown在类 java.awt.event.ComponentEvent 中声明的方法
getComponent在类 java.util.EventObject 中声明的方法
getSource
-
字段详细信息
-
WHEEL_UNIT_SCROLL
表示按“单位”滚动的常量(如使用箭头键滚动)- 参见:
-
WHEEL_BLOCK_SCROLL
表示按“块”滚动的常量(如使用向上翻页、向下翻页键滚动)- 参见:
-
-
构造方法详细信息
-
MouseWheelEvent
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对象。绝对坐标 xAbs 和 yAbs 设置为源在屏幕上的位置加上相对坐标 x 和 y。如果源未显示,xAbs 和 yAbs 将设置为零。
请注意,传入无效的
id会导致未指定的行为。如果source是null,此方法将抛出IllegalArgumentException。- 参数:
source- 发起事件的Componentid- 标识事件的整数when- 给出事件发生时间的长整数modifiers- 事件期间按下修饰键(shift、ctrl、alt、meta)x- 鼠标位置的水平 x 坐标y- 鼠标位置的垂直 y 坐标clickCount- 与事件关联的鼠标点击次数popupTrigger- boolean,如果此事件是弹出菜单的触发器则为真scrollType- 响应此事件应发生的滚动类型;有效值为WHEEL_UNIT_SCROLL和WHEEL_BLOCK_SCROLLscrollAmount- 对于 scrollTypeWHEEL_UNIT_SCROLL,要滚动的单位数wheelRotation- 鼠标滚轮旋转的“点击”整数- 抛出:
IllegalArgumentException- 如果source为空- 参见:
-
MouseWheelEvent
public MouseWheelEvent(Component source, int id, long when, int modifiers, int x, int y, int xAbs, int yAbs, int clickCount, boolean popupTrigger, int scrollType, int scrollAmount, int wheelRotation) 使用指定的源组件、类型、修饰符、坐标、绝对坐标、滚动类型、滚动量和滚轮旋转构造一个MouseWheelEvent对象。请注意,传入无效的
id会导致未指定的行为。如果source是null,此方法将抛出IllegalArgumentException。即使将不一致的相对坐标值和绝对坐标值传递给构造方法,仍会创建 MouseWheelEvent 实例并且不会抛出异常。
- 参数:
source- 发起事件的Componentid- 标识事件的整数when- 给出事件发生时间的长整数modifiers- 事件期间按下修饰键(shift、ctrl、alt、meta)x- 鼠标位置的水平 x 坐标y- 鼠标位置的垂直 y 坐标xAbs- 鼠标位置的绝对水平 x 坐标yAbs- 鼠标位置的绝对垂直 y 坐标clickCount- 与事件关联的鼠标点击次数popupTrigger- boolean,如果此事件是弹出菜单的触发器则为真scrollType- 响应此事件应发生的滚动类型;有效值为WHEEL_UNIT_SCROLL和WHEEL_BLOCK_SCROLLscrollAmount- 对于 scrollTypeWHEEL_UNIT_SCROLL,要滚动的单位数wheelRotation- 鼠标滚轮旋转的“点击”整数- 抛出:
IllegalArgumentException- 如果source为空- 自从:
- 1.6
- 参见:
-
MouseWheelEvent
public MouseWheelEvent(Component source, int id, long when, int modifiers, int x, int y, int xAbs, int yAbs, int clickCount, boolean popupTrigger, int scrollType, int scrollAmount, int wheelRotation, double preciseWheelRotation) 使用指定的源组件、类型、修饰符、坐标、绝对坐标、滚动类型、滚动量和滚轮旋转构造一个MouseWheelEvent对象。请注意,传递无效的
id参数会导致未指定的行为。如果source等于null,此方法将抛出IllegalArgumentException。即使将不一致的相对坐标值和绝对坐标值传递给构造函数,仍会创建
MouseWheelEvent实例并且不会抛出异常。- 参数:
source- 发起事件的Componentid- 标识事件的整数值when- 一个长值,给出事件发生的时间modifiers- 事件期间按下修饰键(shift、ctrl、alt、meta)x- 鼠标位置的水平x坐标y- 鼠标位置的垂直y坐标xAbs- 鼠标位置的绝对水平x坐标yAbs- 鼠标位置的绝对垂直y坐标clickCount- 与事件关联的鼠标点击次数popupTrigger- boolean,true如果此事件是弹出菜单的触发器scrollType- 响应此事件应发生的滚动类型;有效值为WHEEL_UNIT_SCROLL和WHEEL_BLOCK_SCROLLscrollAmount- 对于 scrollTypeWHEEL_UNIT_SCROLL,要滚动的单位数wheelRotation- 鼠标滚轮旋转的“点击”整数preciseWheelRotation- 鼠标滚轮旋转的双倍“点击次数”- 抛出:
IllegalArgumentException- 如果source为空- 自从:
- 1.7
- 参见:
-
-
方法详情
-
getScrollType
public int getScrollType()返回响应此事件应发生的滚动类型。这是由原生平台决定的。合法值是:- MouseWheelEvent.WHEEL_UNIT_SCROLL
- MouseWheelEvent.WHEEL_BLOCK_SCROLL
- 返回:
- MouseWheelEvent.WHEEL_UNIT_SCROLL 或 MouseWheelEvent.WHEEL_BLOCK_SCROLL,具体取决于本机平台的配置。
- 参见:
-
getScrollAmount
public int getScrollAmount()返回每次单击鼠标滚轮旋转应滚动的单位数。仅当getScrollType返回MouseWheelEvent.WHEEL_UNIT_SCROLL时有效- 返回:
-
要滚动的单位数,如果
getScrollType返回MouseWheelEvent.WHEEL_BLOCK_SCROLL则为未定义的值 - 参见:
-
getWheelRotation
public int getWheelRotation()以整数形式返回鼠标滚轮旋转的“点击”次数。如果鼠标支持高分辨率滚轮,则可能会发生部分旋转。在这种情况下,该方法返回零,直到累积了完整的“点击”。- 返回:
- 如果鼠标滚轮向上/远离用户旋转则为负值,如果鼠标滚轮向下/朝向用户旋转则为正值
- 参见:
-
getPreciseWheelRotation
public double getPreciseWheelRotation()返回鼠标滚轮旋转的“点击”次数,作为双精度值。如果鼠标支持高分辨率滚轮,则可能会发生部分旋转。在这种情况下,返回值将包含小数“点击”。- 返回:
- 如果鼠标滚轮向上或远离用户旋转则为负值,如果鼠标滚轮向下或朝向用户旋转则为正值
- 自从:
- 1.7
- 参见:
-
getUnitsToScroll
public int getUnitsToScroll()这是一种方便的方法,可帮助实现常见情况的 MouseWheelListener - 将 ScrollPane 或 JScrollPane 滚动符合平台设置的量。 (但请注意,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); } }- 返回:
- 根据鼠标滚轮旋转的方向和数量以及本机平台的滚轮滚动设置滚动的单位数
- 参见:
-
paramString
返回标识此事件的参数字符串。此方法对于事件记录和调试很有用。- 重写:
paramString在类MouseEvent中- 返回:
- 标识事件及其属性的字符串
-