避免在Swing GUI中使用循环引用

时间:2010-03-15 18:19:24

标签: java model-view-controller user-interface swing circular-dependency

也许在这种情况下不值得担心,但是假设你有两个类,一个包含其所有组件的JFrame,以及一个处理来自远程客户端的请求的类似服务器的类。用户能够通过GUI启动和停止服务器对象,并显示发生在每个服务器对象上的各种事件。无论我是否使用显式模式(如MVC),似乎JFrame需要对服务器类的引用(调用start和stop),并且服务器需要对JFrame的引用(以通知它某些事件) 。

这是一个问题,还是我以错误的方式看待这种情况?

1 个答案:

答案 0 :(得分:4)

这听起来像应用监听器模式的地方。您的服务器可以有一个名为addSomethingListener(SomethingListener listener)的方法,JFrame使用SomethingListener的实现调用该方法。然后,只要发生适当的事件,您的服务器就会调用侦听器的方法。