- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在 Swing 应用程序中,我有许多子面板,每个子面板听一个 JSlider
.周围的父面板也监听所有的子面板。为了在下面的示例中获得一致的结果,我必须先添加父项,然后然后添加本地监听器。考虑到 EventListenerList
中规定的顺序,这是有道理的并在此 article 中进行了解释.我可以依赖该订单还是应该安排发送不同的事件?
class SubPanel extends JPanel implements ChangeListener {
private final JSlider slider = new JSlider();
private final JLabel label = new JLabel();
private final String name;
private float value;
public SubPanel(String name, float value, ChangeListener parent) {
this.name = name;
this.value = value;
...
slider.addChangeListener(parent);
slider.addChangeListener(this);
}
...
}
附录:EventListenerList
中的讨论似乎是实现建议而不是保证。 pstanton 建议的链接方法更可靠地执行正确的顺序。例如,SubPanel
的 ChangeListener
可以简单地将事件转发给父面板。
@Override
public void stateChanged(ChangeEvent e) {
...
parent.stateChanged(e);
}
最佳答案
由于 JSlider 和 JComponent 等的文档没有提到监听器通知的顺序,我会犹豫是否依赖它,至少在没有对 JRE 的每个后续版本进行全面测试的情况下。
如果确实需要依赖顺序,可以考虑设置一个监听器链,即监听器一会通知监听器二等。
关于java - EventListenerList 触发顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2159803/
在 Swing 应用程序中,我有许多子面板,每个子面板听一个 JSlider .周围的父面板也监听所有的子面板。为了在下面的示例中获得一致的结果,我必须先添加父项,然后然后添加本地监听器。考虑到 Ev
有没有实现DOM3 EventListenerList接口(interface)的浏览器? http://www.w3.org/TR/2001/WD-DOM-Level-3-Events-200108
当我学习如何在 Java 中触发事件时,我熟悉了 EventListenerList。当我创建自己的监听器时,我编写监听器以扩展 EventListener,我将它们存储在 EventListener
早在 2010 年 3 月,答案就是“不”: Browser EventListenerList Implementation 我想知道从那时起是否有任何进展。 如果答案仍然是“否”...任何浏览器何
使用 Event Listener List 比 Vector 有什么优势?哪个更受欢迎? 最佳答案 Vector 是伪“弃用”的,支持集合 API List。 List 可以不受限制地包含任何你想要
我已阅读 PropertyChange support 的文档和 EventListenerList .根据我的理解,两者在保存 listeners 和在 event/propertyChange 发
我遇到了这段代码。我想了解 fireStateChanged 方法的作用以及它的作用。 public abstract class AbstractModel { private Ev
在 非 GUI 应用程序 中使用 javax.swing.event.EventListenerList 是个好主意吗?我想使用它,但它是 Swing 的一部分,而且我的应用程序没有 GUI 元素。所
我们的遗留应用程序受制于一个可怕的框架(好吧,我会说出名字,它是 Tapestry 4),该框架涉及荒谬数量的 EventListeners(约 100,000 个)用于最简单的操作。我猜这超出了 j
我是一名优秀的程序员,十分优秀!