所有类


java.awt.event
类 MouseWheelEvent

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
所有已实现的接口:
Serializable

public class MouseWheelEvent
   
   
   
   
   
extends MouseEvent

指示鼠标滚轮在组件中滚动的事件。

滚轮鼠标是一种用滚轮代替中间按键的鼠标。可朝向用户或背离用户旋转此滚轮。尽管鼠标滚轮也有其他用途,但最主要的是用于滚动。

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 反映最新的设置。

从以下版本开始:
1.4
另请参见:
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.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
 
方法摘要
 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
 

字段详细信息

WHEEL_UNIT_SCROLL

public static final int WHEEL_UNIT_SCROLL
表示按“单位”进行滚动的常量(如使用方向键进行滚动)

另请参见:
getScrollType(), 常量字段值

WHEEL_BLOCK_SCROLL

public static final int WHEEL_BLOCK_SCROLL
表示按“块”进行滚动的常量(如使用 page-up、page-down 键进行滚动)

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

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

注意,传递无效的 id 会导致不明确的行为。如果 sourcenull,则此方法抛出 IllegalArgumentException

参数:
source - 产生该事件的 Component
id - 标识事件的整数
when - 给出事件发生时间的 long 值
modifiers - 事件期间按下的组合键(如 shift、ctrl、alt、meta)
x - 鼠标位置的水平 x 坐标
y - 鼠标位置的垂直 y 坐标
clickCount - 与事件关联的鼠标单击数
popupTrigger - 一个 boolean 值,如果此事件是弹出菜单的触发器,则为 true
scrollType - 为响应此事件所应采取的滚动类型;有效值有 WHEEL_UNIT_SCROLLWHEEL_BLOCK_SCROLL
scrollAmount - 对于 scrollType WHEEL_UNIT_SCROLL,是要滚动的单位数
wheelRotation - 鼠标滚轮的旋转量(“卡嗒声”的数目)
抛出:
IllegalArgumentException - 如果 source 为 null
另请参见:
MouseEvent.MouseEvent(java.awt.Component, int, long, int, int, int, int, boolean)
方法详细信息

getScrollType

public int getScrollType()
返回为响应此事件应发生的滚动类型。这由本机平台所决定。合法的值有:
  • MouseWheelEvent.WHEEL_UNIT_SCROLL
  • MouseWheelEvent.WHEEL_BLOCK_SCROLL

返回:
根据本机平台的配置返回 MouseWheelEvent.WHEEL_UNIT_SCROLL 或 MouseWheelEvent.WHEEL_BLOCK_SCROLL。
另请参见:
Adjustable.getUnitIncrement(), Adjustable.getBlockIncrement(), Scrollable.getScrollableUnitIncrement(java.awt.Rectangle, int, int), Scrollable.getScrollableBlockIncrement(java.awt.Rectangle, int, int)

getScrollAmount

public int getScrollAmount()
返回为响应此事件应滚动的单位数。仅在 getScrollType 返回 MouseWheelEvent.WHEEL_UNIT_SCROLL 时才有效。

返回:
要滚动的单位数,如果 getScrollType 返回 MouseWheelEvent.WHEEL_BLOCK_SCROLL,则为不明确的值
另请参见:
getScrollType()

getWheelRotation

public int getWheelRotation()
返回鼠标滚轮旋转的“卡嗒声”数目。

返回:
如果鼠标滚轮向上/远离用户方向旋转,则为负值;如果鼠标滚轮向下/朝向用户方向旋转,则为正值

getUnitsToScroll

public int getUnitsToScroll()
这是帮助实现常用 MouseWheelListener 的便捷方法,以使 ScrollPane 或 JScrollPane 的滚动量符合平台的设置。(注意,ScrollPaneJScrollPane 已内置了此功能。)

当滚动类型是 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)

paramString

public String paramString()
返回标识此事件的参数字符串。此方法对于事件记录和调试很有用。

覆盖:
MouseEvent 中的 paramString
返回:
标识事件及其属性的字符串

所有类

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部