Using the EventObject Class

Using the EventObject Class

The EventObject class is the base class for transferring events in Java (see Tip “Understanding the Listener Pattern”). It provides these methods:

 public EventObject (Object source) // Constructor. The "source" here      // is the event producer object.public Object getSource ()         // Returns the event producerpublic String toString ()          // returns a String representation.

The EventObject class also defines a transient variable (“source”) that holds a reference to the object that produced the event. This object is the same as the one returned by the getSource() method. This example shows how to define a user event by extending the Event Object:

 1.     public class MyEventObject extends EventObject {2.       private String id_ = null;3. 4.       public MyEventObject (Object source, String id) {5.         super(source);6.         id_ = id;7.       }8. 9.       public getID () {10.      return id_;11.    }

The MyEventObject class extends the EventObject class to transfer additional information in the event (i.e., the “id_” String). The constructor on Lines 4-7 first calls the superclass’ constructor and passes it the source of the event (the event producer object). Note that this call is necessary so that the “source” variable in the EventObject class gets initialized. The “id_” variable is also initialized. When the event listener gets this event, it can call the getID() method to get the object’s ID.


Share the Post: