java.awt.event

## Class ActionEvent

- java.lang.Object
- - java.util.EventObject
  - - java.awt.AWTEvent
    - - java.awt.event.ActionEvent

- All Implemented Interfaces:
    Serializable

      public class ActionEvent
      extends AWTEvent

  A semantic event which indicates that a component-defined action occurred. This high-level event is generated by a component (such as a `Button`) when the component-specific action occurs (such as being pressed). The event is passed to every `ActionListener` object that registered to receive such events using the component's `addActionListener` method.

  Note: To invoke an `ActionEvent` on a `Button` using the keyboard, use the Space bar.

  The object that implements the `ActionListener` interface gets this `ActionEvent` when the event occurs. The listener is therefore spared the details of processing individual mouse movements and mouse clicks, and can instead process a "meaningful" (semantic) event like "button pressed".

  An unspecified behavior will be caused if the `id` parameter of any particular `ActionEvent` instance is not in the range from `ACTION_FIRST` to `ACTION_LAST`.

  Since:
    1.1
  See Also:
    `ActionListener`, Tutorial: How to Write an Action Listener, Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static int` | `ACTION_FIRST` | The first number in the range of ids used for action events.
    `static int` | `ACTION_LAST` | The last number in the range of ids used for action events.
    `static int` | `ACTION_PERFORMED` | This event id indicates that a meaningful action occurred.
    `static int` | `ALT_MASK` | The alt modifier.
    `static int` | `CTRL_MASK` | The control modifier.
    `static int` | `META_MASK` | The meta modifier.
    `static int` | `SHIFT_MASK` | The shift modifier.

    - ### Fields inherited from class 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`

    - ### Fields inherited from class java.util.EventObject

      `source`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ActionEvent(Object source, int id, String command)` | Constructs an `ActionEvent` object.
    `ActionEvent(Object source, int id, String command, int modifiers)` | Constructs an `ActionEvent` object with modifier keys.
    `ActionEvent(Object source, int id, String command, long when, int modifiers)` | Constructs an `ActionEvent` object with the specified modifier keys and timestamp.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `String` | `getActionCommand()` | Returns the command string associated with this action.
    `int` | `getModifiers()` | Returns the modifier keys held down during this action event.
    `long` | `getWhen()` | Returns the timestamp of when this event occurred.
    `String` | `paramString()` | Returns a parameter string identifying this action event.

    - ### Methods inherited from class java.awt.AWTEvent

      `consume, getID, isConsumed, setSource, toString`

    - ### Methods inherited from class java.util.EventObject

      `getSource`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### SHIFT_MASK

          public static final int SHIFT_MASK

      The shift modifier. An indicator that the shift key was held down during the event.
      See Also:
        Constant Field Values

    - #### CTRL_MASK

          public static final int CTRL_MASK

      The control modifier. An indicator that the control key was held down during the event.
      See Also:
        Constant Field Values

    - #### META_MASK

          public static final int META_MASK

      The meta modifier. An indicator that the meta key was held down during the event.
      See Also:
        Constant Field Values

    - #### ALT_MASK

          public static final int ALT_MASK

      The alt modifier. An indicator that the alt key was held down during the event.
      See Also:
        Constant Field Values

    - #### ACTION_FIRST

          public static final int ACTION_FIRST

      The first number in the range of ids used for action events.
      See Also:
        Constant Field Values

    - #### ACTION_LAST

          public static final int ACTION_LAST

      The last number in the range of ids used for action events.
      See Also:
        Constant Field Values

    - #### ACTION_PERFORMED

          @Native
          public static final int ACTION_PERFORMED

      This event id indicates that a meaningful action occurred.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### ActionEvent

          public ActionEvent(Object source,
                             int id,
                             String command)

      Constructs an `ActionEvent` object.

      This method throws an `IllegalArgumentException` if `source` is `null`. A `null` `command` string is legal, but not recommended.

      Parameters:
        `source` - The object that originated the event
        `id` - An integer that identifies the event. For information on allowable values, see the class description for `ActionEvent`
        `command` - A string that may specify a command (possibly one of several) associated with the event
      Throws:
        `IllegalArgumentException` - if `source` is null
      See Also:
        `EventObject.getSource()`, `AWTEvent.getID()`, `getActionCommand()`

    - #### ActionEvent

          public ActionEvent(Object source,
                             int id,
                             String command,
                             int modifiers)

      Constructs an `ActionEvent` object with modifier keys.

      This method throws an `IllegalArgumentException` if `source` is `null`. A `null` `command` string is legal, but not recommended.

      Parameters:
        `source` - The object that originated the event
        `id` - An integer that identifies the event. For information on allowable values, see the class description for `ActionEvent`
        `command` - A string that may specify a command (possibly one of several) associated with the event
        `modifiers` - The modifier keys down during event (shift, ctrl, alt, meta). Passing negative parameter is not recommended. Zero value means that no modifiers were passed
      Throws:
        `IllegalArgumentException` - if `source` is null
      See Also:
        `EventObject.getSource()`, `AWTEvent.getID()`, `getActionCommand()`, `getModifiers()`

    - #### ActionEvent

          public ActionEvent(Object source,
                             int id,
                             String command,
                             long when,
                             int modifiers)

      Constructs an `ActionEvent` object with the specified modifier keys and timestamp.

      This method throws an `IllegalArgumentException` if `source` is `null`. A `null` `command` string is legal, but not recommended.

      Parameters:
        `source` - The object that originated the event
        `id` - An integer that identifies the event. For information on allowable values, see the class description for `ActionEvent`
        `command` - A string that may specify a command (possibly one of several) associated with the event
        `modifiers` - The modifier keys down during event (shift, ctrl, alt, meta). Passing negative parameter is not recommended. Zero value means that no modifiers were passed
        `when` - A long that gives the time the event occurred. Passing negative or zero value is not recommended
      Throws:
        `IllegalArgumentException` - if `source` is null
      Since:
        1.4
      See Also:
        `EventObject.getSource()`, `AWTEvent.getID()`, `getActionCommand()`, `getModifiers()`, `getWhen()`

  - ### Method Detail

    - #### getActionCommand

          public String getActionCommand()

      Returns the command string associated with this action. This string allows a "modal" component to specify one of several commands, depending on its state. For example, a single button might toggle between "show details" and "hide details". The source object and the event would be the same in each case, but the command string would identify the intended action.

      Note that if a `null` command string was passed to the constructor for this `ActionEvent`, this this method returns `null`.

      Returns:
        the string identifying the command for this event

    - #### getWhen

          public long getWhen()

      Returns the timestamp of when this event occurred. Because an ActionEvent is a high-level, semantic event, the timestamp is typically the same as an underlying InputEvent.
      Returns:
        this event's timestamp
      Since:
        1.4

    - #### getModifiers

          public int getModifiers()

      Returns the modifier keys held down during this action event.
      Returns:
        the bitwise-or of the modifier constants

    - #### paramString

          public String paramString()

      Returns a parameter string identifying this action event. This method is useful for event-logging and for debugging.
      Overrides:
        `paramString` in class `AWTEvent`
      Returns:
        a string identifying the event and its associated command

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.