java - 客户端 Swing 应用程序中的总线或监听器/委托(delegate)?

标签 java swing events architecture

构建客户端 Swing 应用程序应该在总线上通知什么(应用程序范围的消息系统,概念上与 JMS 类似,但更简单)以及应该使用直接监听器通知什么?

乘坐公交车时,我总有一种无法逃避的感觉:“我不知道谁在哪里使用它”。而且,没有固定的顺序,很难否决事件,很难确切地知道在设定的时间发生了什么。

另一方面,使用监听器意味着要么直接引用源对象(耦合),要么通过无数次转换传递引用(A--b_listener-->B、B--c_listener-->C 只是因为 a 需要知道只有 C 可以告诉的东西,但 B 对此不感兴趣)。

那么,这方面有什么经验法则吗?有什么建议如何平衡吗?

最佳答案

根据我的经验,试图让 Swing 做一些它不适合或不希望您做的事情是非常痛苦的。

我会选择最简单、可行的方法;保持代码整洁,以“Swing Way”方式执行,直到开始发现问题。

关于java - 客户端 Swing 应用程序中的总线或监听器/委托(delegate)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/227526/

相关文章:

java - 制表符、换行符、DocumentFilters 和 eclipse 文本

java - 计算形状的中点

java - 矩形中 JEditorPane 中的滚动条

javascript - 即使移动位置如何确保按钮被点击

.net - System.ComponentModel.CancelEventHandler 如何工作?我不明白什么是可取消事件?

java - Kotlin:只有 getter 的私有(private)可变属性

Java - 获取目录中的最新文件?

Java - 读取图像(IIOException : Can't Create an ImageInputStream)

Java TypedQuery 比直接查询 DB 慢得多

c# - 我需要退订吗?