Implementing Callback Routines

Implementing Callback Routines

One of the easier ways of implementing an event-driven programming model is through passing function pointers which are invoked when an event occurs. But because Java doesn’t support the notion of pointers, this convenient mechanism is ruled out. This fuctionality, however, can be achieved in Java by using the interfaces which are provided.

The trick is to create an interface which provides a method which can be implemented by each event in its own way. An example of this is given below:

Interface that is going to be implemented by Event Handler classes

 public interface GenericEvent{ 

This method is going to be implemented by each of the Event Handler classes.

 public void handleEvent ();}

This gives us a grip on any objects of classes that implement the interface. Now the class that is going to receive the notification that an Event has been fired looks like this:

 public class GenericEventHandler{public handleEvent(GenericEvent event){

Invoke the event handler method.

 event.handleEvent();    }

Other Class Methods: The actual class that is going to define how to handle the event looks like this:

  public class DoubleClickEventHandler implements GenericEvent{    public void handleEvent() {){

Handler code then goes here.


Using this mechanism we can implement Event Driven Programming Model in Java.


Share the Post: