Java Events in .NET

J-Integra® for .NET currently supports the mapping of Java events onto .NET events. For an example, see Access Java Events from .NET Using J-Integra® for .NET. The following Java constructs are mapped onto .NET constructs:

  1. Java event listener - an interface which extends java.util.EventListener. The following code snippets demonstrates this mapping:

    In Java:

     public interface MyEventHandlerListener extends java.util.EventListener {
        public int MyEvent1(Object sender, boolean e, int i);
        public boolean MyEvent2(float f);
     }

    For each of the above methods a .NET delegate must be defined. In C#:

     public class MyEventsListener {
        public delegate int MyEvent1(bool e, int i);
        public delegate bool MyEvent2(float f);
     }
  2. Java event source - an object which provides at least 2 methods for adding and removing with a single parameter which is a Java event listener.

     public class MyClassWithEvents {
        public void addMyEventHandlerListener(MyEventHandlerListener listener) {
          ...
        }
        public void removeMyEventHandlerListener(MyEventHandlerListener listener) {
          ... 
        }
     }

    Each Java event method is mapped to and event in C#. Note that each method in the interface gets it's own event. This is a fundamental difference in event handling between .NET and Java:

     public class MyClassWithEvents {
        public event MyEventsListener.MyEvent1 MyEvent;
        public event MyEventsListener.MyEvent2 MyEvent;
        .
        .
        .
     }

© 2007 Intrinsyc Software International, Inc. All rights reserved. Legal