I extended AWTEventListener
, and then added it to the toolkit. However, when I try to assert that my listener is in the AWTListeners
, my assertion fails. I call this from within the listener (although I don't know why that would cause a problem).
Toolkit.getDefaultToolkit().addAWTEventListener(this, AWTEvent.MOUSE_EVENT_MASK
| AWTEvent.KEY_EVENT_MASK
| AWTEvent.MOUSE_MOTION_EVENT_MASK
| AWTEvent.MOUSE_WHEEL_EVENT_MASK);
assert ArrayUtils.contains
(Toolkit.getDefaultToolkit().getAWTEventListeners(), this);
The AWTEventListener
s within the default toolkit are maintained as proxies (java.awt.event.AWTEventListenerProxy
), which wrap the listeners that were added.
Toolkit.getDefaultToolkit().addAWTEventListener(this, ...);
for (AWTEventListener listener : Toolkit.getDefaultToolkit().getAWTEventListeners()) {
java.awt.event.AWTEventListenerProxy proxy = (java.awt.event.AWTEventListenerProxy) listener;
if (proxy.getListener().equals(this) {
// there, we found it.
}
}