# 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 final int`
  `ACTION_FIRST`
  The first number in the range of ids used for action events.
  `static final int`
  `ACTION_LAST`
  The last number in the range of ids used for action events.
  `static final int`
  `ACTION_PERFORMED`
  This event id indicates that a meaningful action occurred.
  `static final int`
  `ALT_MASK`
  The alt modifier.
  `static final int`
  `CTRL_MASK`
  The control modifier.
  `static final int`
  `META_MASK`
  The meta modifier.
  `static final int`
  `SHIFT_MASK`
  The shift modifier.

  ### Fields declared in 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 declared in 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

  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 declared in class java.awt.AWTEvent

  `consume, getID, isConsumed, setSource, toString`

  ### Methods declared in class java.util.EventObject

  `getSource`

  ### Methods declared in class java.lang.Object

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

- ## Field Details

  - ### 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 Details

  - ### 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
      `when` - A long that gives the time the event occurred. Passing negative or zero value is not recommended
      `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
    Since:
      1.4
    See Also:
      - `EventObject.getSource()`
      - `AWTEvent.getID()`
      - `getActionCommand()`
      - `getModifiers()`
      - `getWhen()`

- ## Method Details

  - ### 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