# Class AWTEventMonitor

java.lang.Object
com.sun.java.accessibility.util.AWTEventMonitor

Direct Known Subclasses:
  `SwingEventMonitor`

public class AWTEventMonitor extends Object

The `AWTEventMonitor` implements a suite of listeners that are conditionally installed on every AWT component instance in the Java Virtual Machine. The events captured by these listeners are made available through a unified set of listeners supported by `AWTEventMonitor`. With this, all the individual events on each of the AWT component instances are funneled into one set of listeners broken down by category (see `EventID` for the categories).

This class depends upon `EventQueueMonitor`, which provides the base level support for capturing the top-level containers as they are created.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AWTEventMonitor()`
  Constructs an `AWTEventMonitor`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static void`
  `addActionListener(ActionListener l)`
  Adds the specified listener to receive all `ACTION` events on each component instance in the Java Virtual Machine when they occur.
  `static void`
  `addAdjustmentListener(AdjustmentListener l)`
  Adds the specified listener to receive all `ADJUSTMENT` events on each component instance in the Java Virtual Machine when they occur.
  `static void`
  `addComponentListener(ComponentListener l)`
  Adds the specified listener to receive all `COMPONENT` events on each component instance in the Java Virtual Machine as they occur.
  `static void`
  `addContainerListener(ContainerListener l)`
  Adds the specified listener to receive all `CONTAINER` events on each component instance in the Java Virtual Machine as they occur.
  `static void`
  `addFocusListener(FocusListener l)`
  Adds the specified listener to receive all `FOCUS` events on each component instance in the Java Virtual Machine when they occur.
  `static void`
  `addItemListener(ItemListener l)`
  Adds the specified listener to receive all `ITEM` events on each component instance in the Java Virtual Machine when they occur.
  `static void`
  `addKeyListener(KeyListener l)`
  Adds the specified listener to receive all `KEY` events on each component instance in the Java Virtual Machine when they occur.
  `static void`
  `addMouseListener(MouseListener l)`
  Adds the specified listener to receive all `MOUSE` events on each component instance in the Java Virtual Machine when they occur.
  `static void`
  `addMouseMotionListener(MouseMotionListener l)`
  Adds the specified listener to receive all mouse `MOTION` events on each component instance in the Java Virtual Machine when they occur.
  `static void`
  `addTextListener(TextListener l)`
  Adds the specified listener to receive all `TEXT` events on each component instance in the Java Virtual Machine when they occur.
  `static void`
  `addWindowListener(WindowListener l)`
  Adds the specified listener to receive all `WINDOW` events on each component instance in the Java Virtual Machine when they occur.
  `static Component`
  `getComponentWithFocus()`
  Returns the component that currently has keyboard focus.
  `static void`
  `removeActionListener(ActionListener l)`
  Removes the specified listener so it no longer receives `ACTION` events when they occur.
  `static void`
  `removeAdjustmentListener(AdjustmentListener l)`
  Removes the specified listener so it no longer receives `ADJUSTMENT` events when they occur.
  `static void`
  `removeComponentListener(ComponentListener l)`
  Removes the specified listener so it no longer receives `COMPONENT` events when they occur.
  `static void`
  `removeContainerListener(ContainerListener l)`
  Removes the specified listener so it no longer receives `CONTAINER` events when they occur.
  `static void`
  `removeFocusListener(FocusListener l)`
  Removes the specified listener so it no longer receives `FOCUS` events when they occur.
  `static void`
  `removeItemListener(ItemListener l)`
  Removes the specified listener so it no longer receives `ITEM` events when they occur.
  `static void`
  `removeKeyListener(KeyListener l)`
  Removes the specified listener so it no longer receives `KEY` events when they occur.
  `static void`
  `removeMouseListener(MouseListener l)`
  Removes the specified listener so it no longer receives `MOUSE` events when they occur.
  `static void`
  `removeMouseMotionListener(MouseMotionListener l)`
  Removes the specified listener so it no longer receives `MOTION` events when they occur.
  `static void`
  `removeTextListener(TextListener l)`
  Removes the specified listener so it no longer receives `TEXT` events when they occur.
  `static void`
  `removeWindowListener(WindowListener l)`
  Removes the specified listener so it no longer receives `WINDOW` events when they occur.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Constructor Details

  - ### AWTEventMonitor

    public AWTEventMonitor()
    Constructs an `AWTEventMonitor`.

- ## Method Details

  - ### getComponentWithFocus

    public static Component getComponentWithFocus()
    Returns the component that currently has keyboard focus. The return value can be null.
    Returns:
      the component that has keyboard focus

  - ### addComponentListener

    public static void addComponentListener(ComponentListener l)
    Adds the specified listener to receive all `COMPONENT` events on each component instance in the Java Virtual Machine as they occur.

    Note: this listener is automatically added to all component instances created after this method is called. In addition, it is only added to component instances that support this listener type.

    Parameters:
      `l` - the listener to add
    See Also:
      - `removeComponentListener(ComponentListener)`

  - ### removeComponentListener

    public static void removeComponentListener(ComponentListener l)
    Removes the specified listener so it no longer receives `COMPONENT` events when they occur.
    Parameters:
      `l` - the listener to remove
    See Also:
      - `addComponentListener(ComponentListener)`

  - ### addContainerListener

    public static void addContainerListener(ContainerListener l)
    Adds the specified listener to receive all `CONTAINER` events on each component instance in the Java Virtual Machine as they occur.

    Note: this listener is automatically added to all component instances created after this method is called. In addition, it is only added to component instances that support this listener type.

    Parameters:
      `l` - the listener to add
    See Also:
      - `removeContainerListener(ContainerListener)`

  - ### removeContainerListener

    public static void removeContainerListener(ContainerListener l)
    Removes the specified listener so it no longer receives `CONTAINER` events when they occur.
    Parameters:
      `l` - the listener to remove
    See Also:
      - `addContainerListener(ContainerListener)`

  - ### addFocusListener

    public static void addFocusListener(FocusListener l)
    Adds the specified listener to receive all `FOCUS` events on each component instance in the Java Virtual Machine when they occur.

    Note: this listener is automatically added to all component instances created after this method is called. In addition, it is only added to component instances that support this listener type.

    Parameters:
      `l` - the listener to add
    See Also:
      - `removeFocusListener(FocusListener)`

  - ### removeFocusListener

    public static void removeFocusListener(FocusListener l)
    Removes the specified listener so it no longer receives `FOCUS` events when they occur.
    Parameters:
      `l` - the listener to remove
    See Also:
      - `addFocusListener(FocusListener)`

  - ### addKeyListener

    public static void addKeyListener(KeyListener l)
    Adds the specified listener to receive all `KEY` events on each component instance in the Java Virtual Machine when they occur.

    Note: this listener is automatically added to all component instances created after this method is called. In addition, it is only added to component instances that support this listener type.

    Parameters:
      `l` - the listener to add
    See Also:
      - `removeKeyListener(KeyListener)`

  - ### removeKeyListener

    public static void removeKeyListener(KeyListener l)
    Removes the specified listener so it no longer receives `KEY` events when they occur.
    Parameters:
      `l` - the listener to remove
    See Also:
      - `addKeyListener(KeyListener)`

  - ### addMouseListener

    public static void addMouseListener(MouseListener l)
    Adds the specified listener to receive all `MOUSE` events on each component instance in the Java Virtual Machine when they occur.

    Note: this listener is automatically added to all component instances created after this method is called. In addition, it is only added to component instances that support this listener type.

    Parameters:
      `l` - the listener to add
    See Also:
      - `removeMouseListener(MouseListener)`

  - ### removeMouseListener

    public static void removeMouseListener(MouseListener l)
    Removes the specified listener so it no longer receives `MOUSE` events when they occur.
    Parameters:
      `l` - the listener to remove
    See Also:
      - `addMouseListener(MouseListener)`

  - ### addMouseMotionListener

    public static void addMouseMotionListener(MouseMotionListener l)
    Adds the specified listener to receive all mouse `MOTION` events on each component instance in the Java Virtual Machine when they occur.

    Note: this listener is automatically added to all component instances created after this method is called. In addition, it is only added to component instances that support this listener type.

    Parameters:
      `l` - the listener to add
    See Also:
      - `removeMouseMotionListener(MouseMotionListener)`

  - ### removeMouseMotionListener

    public static void removeMouseMotionListener(MouseMotionListener l)
    Removes the specified listener so it no longer receives `MOTION` events when they occur.
    Parameters:
      `l` - the listener to remove
    See Also:
      - `addMouseMotionListener(MouseMotionListener)`

  - ### addWindowListener

    public static void addWindowListener(WindowListener l)
    Adds the specified listener to receive all `WINDOW` events on each component instance in the Java Virtual Machine when they occur.

    Note: this listener is automatically added to all component instances created after this method is called. In addition, it is only added to component instances that support this listener type.

    Parameters:
      `l` - the listener to add
    See Also:
      - `removeWindowListener(WindowListener)`

  - ### removeWindowListener

    public static void removeWindowListener(WindowListener l)
    Removes the specified listener so it no longer receives `WINDOW` events when they occur.
    Parameters:
      `l` - the listener to remove
    See Also:
      - `addWindowListener(WindowListener)`

  - ### addActionListener

    public static void addActionListener(ActionListener l)
    Adds the specified listener to receive all `ACTION` events on each component instance in the Java Virtual Machine when they occur.

    Note: This listener is automatically added to all component instances created after this method is called. In addition, it is only added to component instances that support this listener type.

    Parameters:
      `l` - the listener to add
    See Also:
      - `removeActionListener(ActionListener)`

  - ### removeActionListener

    public static void removeActionListener(ActionListener l)
    Removes the specified listener so it no longer receives `ACTION` events when they occur.
    Parameters:
      `l` - the listener to remove
    See Also:
      - `addActionListener(ActionListener)`

  - ### addAdjustmentListener

    public static void addAdjustmentListener(AdjustmentListener l)
    Adds the specified listener to receive all `ADJUSTMENT` events on each component instance in the Java Virtual Machine when they occur.

    Note: this listener is automatically added to all component instances created after this method is called. In addition, it is only added to component instances that support this listener type.

    Parameters:
      `l` - the listener to add
    See Also:
      - `removeAdjustmentListener(AdjustmentListener)`

  - ### removeAdjustmentListener

    public static void removeAdjustmentListener(AdjustmentListener l)
    Removes the specified listener so it no longer receives `ADJUSTMENT` events when they occur.
    Parameters:
      `l` - the listener to remove
    See Also:
      - `addAdjustmentListener(AdjustmentListener)`

  - ### addItemListener

    public static void addItemListener(ItemListener l)
    Adds the specified listener to receive all `ITEM` events on each component instance in the Java Virtual Machine when they occur.

    Note: this listener is automatically added to all component instances created after this method is called. In addition, it is only added to component instances that support this listener type.

    Parameters:
      `l` - the listener to add
    See Also:
      - `removeItemListener(ItemListener)`

  - ### removeItemListener

    public static void removeItemListener(ItemListener l)
    Removes the specified listener so it no longer receives `ITEM` events when they occur.
    Parameters:
      `l` - the listener to remove
    See Also:
      - `addItemListener(ItemListener)`

  - ### addTextListener

    public static void addTextListener(TextListener l)
    Adds the specified listener to receive all `TEXT` events on each component instance in the Java Virtual Machine when they occur.

    Note: this listener is automatically added to all component instances created after this method is called. In addition, it is only added to component instances that support this listener type.

    Parameters:
      `l` - the listener to add
    See Also:
      - `removeTextListener(TextListener)`

  - ### removeTextListener

    public static void removeTextListener(TextListener l)
    Removes the specified listener so it no longer receives `TEXT` events when they occur.
    Parameters:
      `l` - the listener to remove
    See Also:
      - `addTextListener(TextListener)`