Module java.desktop
Package java.awt.event

Class InputEvent

所有已实现的接口:
Serializable
直接已知的子类:
KeyEvent, MouseEvent

public abstract sealed class InputEvent extends ComponentEvent permits KeyEvent, MouseEvent
所有组件级输入事件的根事件类。输入事件在传递给侦听器之前会先由它们的来源进行正常处理。这使得侦听器和组件子类可以“消耗”事件,以防止来源以默认方式处理它们。例如,在 Button 组件上消耗 mousePressed 事件将阻止 Button 被激活。
封闭类层次结构图:
InputEvent的封闭类层次结构图InputEvent的封闭类层次结构图
自 JDK 版本:
1.1
另请参阅:
  • Field Details

    • SHIFT_MASK

      @Deprecated(since="9") public static final int SHIFT_MASK
      Deprecated.
      It is recommended that SHIFT_DOWN_MASK and getModifiersEx() be used instead
      Shift 键修饰符常量。
      另请参阅:
    • CTRL_MASK

      @Deprecated(since="9") public static final int CTRL_MASK
      Deprecated.
      It is recommended that CTRL_DOWN_MASK and getModifiersEx() be used instead
      Control 键修饰符常量。
      另请参阅:
    • META_MASK

      @Deprecated(since="9") public static final int META_MASK
      Deprecated.
      It is recommended that META_DOWN_MASK and getModifiersEx() be used instead
      Meta 键修饰符常量。
      另请参阅:
    • ALT_MASK

      @Deprecated(since="9") public static final int ALT_MASK
      Deprecated.
      It is recommended that ALT_DOWN_MASK and getModifiersEx() be used instead
      Alt 键修饰符常量。
      另请参阅:
    • ALT_GRAPH_MASK

      @Deprecated(since="9") public static final int ALT_GRAPH_MASK
      Deprecated.
      It is recommended that ALT_GRAPH_DOWN_MASK and getModifiersEx() be used instead
      AltGraph 键修饰符常量。
      另请参阅:
    • BUTTON1_MASK

      @Deprecated(since="9") public static final int BUTTON1_MASK
      Deprecated.
      It is recommended that BUTTON1_DOWN_MASK and getModifiersEx() be used instead
      鼠标按钮1修饰符常量。
      另请参阅:
    • BUTTON2_MASK

      @Deprecated(since="9") public static final int BUTTON2_MASK
      Deprecated.
      It is recommended that BUTTON2_DOWN_MASK and getModifiersEx() be used instead. Note that BUTTON2_MASK has the same value as ALT_MASK.
      鼠标按钮2修饰符常量。
      另请参阅:
    • BUTTON3_MASK

      @Deprecated(since="9") public static final int BUTTON3_MASK
      Deprecated.
      It is recommended that BUTTON3_DOWN_MASK and getModifiersEx() be used instead. Note that BUTTON3_MASK has the same value as META_MASK.
      鼠标按钮3修饰符常量。
      另请参阅:
    • SHIFT_DOWN_MASK

      public static final int SHIFT_DOWN_MASK
      Shift 键扩展修饰符常量。
      自 JDK 版本:
      1.4
      另请参阅:
    • CTRL_DOWN_MASK

      public static final int CTRL_DOWN_MASK
      Control 键扩展修饰符常量。
      自 JDK 版本:
      1.4
      另请参阅:
    • META_DOWN_MASK

      public static final int META_DOWN_MASK
      Meta 键扩展修饰符常量。
      自 JDK 版本:
      1.4
      另请参阅:
    • ALT_DOWN_MASK

      public static final int ALT_DOWN_MASK
      Alt 键扩展修饰符常量。
      自 JDK 版本:
      1.4
      另请参阅:
    • BUTTON1_DOWN_MASK

      public static final int BUTTON1_DOWN_MASK
      鼠标按钮1扩展修饰符常量。
      自 JDK 版本:
      1.4
      另请参阅:
    • BUTTON2_DOWN_MASK

      public static final int BUTTON2_DOWN_MASK
      鼠标按钮2扩展修饰符常量。
      自 JDK 版本:
      1.4
      另请参阅:
    • BUTTON3_DOWN_MASK

      public static final int BUTTON3_DOWN_MASK
      鼠标按钮3扩展修饰符常量。
      自 JDK 版本:
      1.4
      另请参阅:
    • ALT_GRAPH_DOWN_MASK

      public static final int ALT_GRAPH_DOWN_MASK
      AltGraph 键扩展修饰符常量。
      自 JDK 版本:
      1.4
      另请参阅:
  • Method Details

    • getMaskForButton

      public static int getMaskForButton(int button)
      获取任何现有鼠标按钮的掩码的方法。返回的掩码可用于不同目的。以下是其中一些用途:
      参数:
      button - 是一个数字,表示从1开始的按钮。例如,
       int button = InputEvent.getMaskForButton(1);
       
      将与
       int button = InputEvent.getMaskForButton(MouseEvent.BUTTON1);
       
      具有相同的含义,因为MouseEvent.BUTTON1等于1。如果鼠标有三个启用的按钮(参见MouseInfo.getNumberOfButtons()),那么从左列传递到方法中的值将返回右列对应的值:
          button    返回的掩码
          BUTTON1  BUTTON1_DOWN_MASK
          BUTTON2  BUTTON2_DOWN_MASK
          BUTTON3  BUTTON3_DOWN_MASK
       
      如果鼠标有多于三个启用的按钮,则可以接受更多的值(4、5等)。对于这些额外按钮返回的按钮掩码没有分配的常量名称,就像前三个按钮掩码一样。

      此方法具有以下实现限制。它仅返回有限数量的按钮的掩码。最大数量取决于实现,并可能有所不同。此限制由可能在鼠标上存在的相关按钮数量定义,但它大于MouseInfo.getNumberOfButtons()

      返回:
      存在的鼠标按钮的掩码。
      抛出:
      IllegalArgumentException - 如果button小于零或大于为按钮保留的按钮掩码数量
      自:
      1.7
      参见:
    • isShiftDown

      public boolean isShiftDown()
      返回此事件上Shift修饰符是否按下。
      返回:
      此事件上Shift修饰符是否按下
    • isControlDown

      public boolean isControlDown()
      返回此事件上Control修饰符是否按下。
      返回:
      此事件上Control修饰符是否按下
    • isMetaDown

      public boolean isMetaDown()
      返回此事件上Meta修饰符是否按下。
      返回:
      此事件上Meta修饰符是否按下
    • isAltDown

      public boolean isAltDown()
      返回此事件上Alt修饰符是否按下。
      返回:
      此事件上Alt修饰符是否按下
    • isAltGraphDown

      public boolean isAltGraphDown()
      返回此事件上AltGraph修饰符是否按下。
      返回:
      此事件上AltGraph修饰符是否按下
    • getWhen

      public long getWhen()
      返回此事件发生时的时间戳与1970年1月1日午夜之间的毫秒差。
      返回:
      时间戳与1970年1月1日午夜之间的毫秒差
    • getModifiers

      @Deprecated(since="9") public int getModifiers()
      Deprecated.
      It is recommended that extended modifier keys and getModifiersEx() be used instead
      返回此事件的修饰符掩码。
      返回:
      此事件的修饰符掩码
    • getModifiersEx

      public int getModifiersEx()
      返回此事件的扩展修饰符掩码。

      扩展修饰符是以_DOWN_MASK后缀结尾的修饰符,例如ALT_DOWN_MASK、BUTTON1_DOWN_MASK等。

      扩展修饰符表示事件发生后所有模态键的状态,例如ALT、CTRL、META和鼠标按钮。

      例如,如果用户按下按钮1,然后按下按钮2,然后以相同顺序释放它们,将生成以下事件序列:

          MOUSE_PRESSED:  BUTTON1_DOWN_MASK
          MOUSE_PRESSED:  BUTTON1_DOWN_MASK | BUTTON2_DOWN_MASK
          MOUSE_RELEASED: BUTTON2_DOWN_MASK
          MOUSE_CLICKED:  BUTTON2_DOWN_MASK
          MOUSE_RELEASED:
          MOUSE_CLICKED:
       

      不建议使用==比较此方法的返回值,因为将来可能会添加新的修饰符。例如,检查SHIFT和BUTTON1是否按下,但CTRL未按下的正确方法如下所示:

          int onmask = SHIFT_DOWN_MASK | BUTTON1_DOWN_MASK;
          int offmask = CTRL_DOWN_MASK;
          if ((event.getModifiersEx() & (onmask | offmask)) == onmask) {
              ...
          }
       
      即使添加了新的修饰符,上述代码也能正常工作。
      返回:
      此事件的扩展修饰符掩码
      自:
      1.4
    • consume

      public void consume()
      消耗此事件,使其不会被产生它的源默认方式处理。
      覆盖:
      consume 在类 AWTEvent
    • isConsumed

      public boolean isConsumed()
      返回此事件是否已被消耗。
      覆盖:
      isConsumed 在类 AWTEvent
      返回:
      此事件是否已被消耗
      参见:
    • getModifiersExText

      public static String getModifiersExText(int modifiers)
      返回描述扩展修饰键和鼠标按钮的字符串,例如"Shift"、"Button1"或"Ctrl+Shift"。这些字符串可以通过更改awt.properties文件进行本地化。

      请注意,传递负参数是不正确的,将导致返回一个未指定的字符串。零参数意味着没有传递修饰符,并将导致返回一个空字符串。

      参数:
      modifiers - 描述事件的扩展修饰键和鼠标按钮的修饰符掩码
      返回:
      描述事件期间按下的扩展修饰键和鼠标按钮组合的文本描述。
      自:
      1.4