Trace:
Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
jvx:reference [2020/06/24 15:43] cduncan [Parameters or no parameters? To throw or not to throw?] |
jvx:reference [2020/06/24 15:46] cduncan [More methods!] |
||
---|---|---|---|
Line 1926: | Line 1926: | ||
Additionally, all listeners and ''%%IRunnable%%'' itself support throwing ''%%Throwable%%'', which is then handled inside the ''%%EventHandler%%''. As you can see, you are very flexible when it comes to what methods you can attach and use as listeners. | Additionally, all listeners and ''%%IRunnable%%'' itself support throwing ''%%Throwable%%'', which is then handled inside the ''%%EventHandler%%''. As you can see, you are very flexible when it comes to what methods you can attach and use as listeners. | ||
- | ===== Creating your own events ===== | + | ===== Creating Your Own Events ===== |
You can, of course, create your own ''%%EventHandler%%''s and listeners to create your own events. All you need are two classes, an extension of EventHandler and a listener interface. | You can, of course, create your own ''%%EventHandler%%''s and listeners to create your own events. All you need are two classes, an extension of EventHandler and a listener interface. | ||
Line 1954: | Line 1954: | ||
event.dispatchEvent("Adam"); | event.dispatchEvent("Adam"); | ||
</code> | </code> | ||
- | ===== More methods! ===== | + | ===== Additional Methods ===== |
- | You can also use an interface for listeners which has multiple methods, specifying in the constructor which method to invoke: | + | You can also use an interface for listeners that has multiple methods, specifying in the constructor which method to invoke: |
<code java> | <code java> | ||
Line 1974: | Line 1974: | ||
} | } | ||
</code> | </code> | ||
- | Now every time the event is dispatched, the ''%%somethingOtherHappened%%'' method will be invoked. Anyway, don’t use this. The upside of having a “simple” listener interface with just one method is that it allows to use lambdas with it. A listener interface with multiple methods won’t allow this. | + | Now every time the event is dispatched, the ''%%somethingOtherHappened%%'' method will be invoked. However, don’t use this. The upside of having a “simple” listener interface with just one method is that it allows us to use lambdas with it. A listener interface with multiple methods won’t allow this. |
In [[https://sourceforge.net/projects/jvx/|JVx]] [[http://blog.sibvisions.com/2015/01/28/jvx-and-java-8-events-and-lambdas/|we reduced our listener interfaces to just one method (in a backward compatible way)]] to make sure all events can be used with lambdas. | In [[https://sourceforge.net/projects/jvx/|JVx]] [[http://blog.sibvisions.com/2015/01/28/jvx-and-java-8-events-and-lambdas/|we reduced our listener interfaces to just one method (in a backward compatible way)]] to make sure all events can be used with lambdas. |