gpt4 book ai didi

java - 为什么不添加 AWTEventListener?

转载 作者:行者123 更新时间:2023-12-01 18:32:17 25 4
gpt4 key购买 nike

我扩展了 AWTEventListener,然后将其添加到工具包中。但是,当我尝试断言我的监听器位于 AWTListeners 中时,我的断言失败。我从监听器内部调用它(尽管我不知道为什么这会导致问题)。

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);

最佳答案

默认工具包中的 AWTEventListener 作为代理 (java.awt.event.AWTEventListenerProxy) 进行维护,它包装了添加的监听器。

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.
}
}

关于java - 为什么不添加 AWTEventListener?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23639618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com