EventHandler.java:
public abstract class EventHandler<E> {
public abstract void HandleEvent(Object sender, E e);
}
Foo.java:
private OnProgressEventHandler m_OnProgressEventHandler = new OnProgressEventHandler();
private class OnProgressEventHandler extends EventHandler<ProgressEventArgs> {
public void HandleEvent(Object sender, ProgressEventArgs args) {
/*...*/
}
}
ProgressEventArgs.java:
public class ProgressEventArgs extends EventArgs {
/*...*/
}
Bar.java:
public void addProgressEventListener(EventHandler<EventArgs> listener) {
m_OnProgress.addListener(listener);
}
This line:
myBarObject.addProgressEventListener(m_OnProgressEventHandler);
causes:
The method addProgressEventListener(EventHandler) in the
type Bar is not applicable for the arguments (Foo.OnProgressEventHandler)
I don’t understand why it doesn’t compile because OnProgressEventHandler extends EventHandler<ProgressEventArgs>. I’m sure it’s something trivial I missing, but I cant figure why.
Change
to