# Class EventUtils

java.lang.Object
org.apache.commons.lang3.event.EventUtils

public class EventUtils extends Object
Provides some useful event-based utility methods.

Since:
  3.0

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `EventUtils()`
  Deprecated.
  TODO Make private in 4.0.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static <L> void`
  `addEventListener(Object eventSource, Class<L> listenerType, L listener)`
  Adds an event listener to the specified source.
  `static <L> void`
  `bindEventsToMethod(Object target, String methodName, Object eventSource, Class<L> listenerType, String... eventTypes)`
  Binds an event listener to a specific method on a specific object.

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### EventUtils

    @Deprecated public EventUtils()
    Deprecated.
    TODO Make private in 4.0.
    Make private in 4.0.

- ## Method Details

  - ### addEventListener

    public static <L> void addEventListener(Object eventSource, Class<L> listenerType, L listener)
    Adds an event listener to the specified source. This looks for an "add" method corresponding to the event type (addActionListener, for example).
    Type Parameters:
      `L` - the event listener type.
    Parameters:
      `eventSource` - the event source.
      `listenerType` - the event listener type.
      `listener` - the listener.
    Throws:
      `IllegalArgumentException` - if the object doesn't support the listener type.

  - ### bindEventsToMethod

    public static <L> void bindEventsToMethod(Object target, String methodName, Object eventSource, Class<L> listenerType, String... eventTypes)
    Binds an event listener to a specific method on a specific object.
    Type Parameters:
      `L` - the event listener type.
    Parameters:
      `target` - the target object.
      `methodName` - the name of the method to be called.
      `eventSource` - the object which is generating events (JButton, JList, etc.).
      `listenerType` - the listener interface (ActionListener.class, SelectionListener.class, etc.).
      `eventTypes` - the event types (method names) from the listener interface (if none specified, all will be supported).