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

`consume, getID, isConsumed, setSource, toString`

### Methods declared in class EventObject

`getSource`

### Methods declared in class 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