日期:2014-05-20  浏览次数:20670 次

线程和界面如何互相调用?
为了代码 能比较清晰合理。
我把界面写在一个类。 控制的线程写在一个类。
如:

我有一个 客户端界面 client,接收消息的 message 类
client 是做界面点击和显示之类的、
然后 message 是不断处于接收 来自 服务器发送过来的消息。
然后根据不同类型消息要做出对应指示。

我现在用的笨方法就是,在构造这个 message类的时候,把界面都 一些组件 作为参数传进来。
然后当 message 要有控制时,就直接调用这些组件的方法来得到 client 界面的显示切换。

可是问题是,有时候 client 里的 组件有很多,不可能都一下子全部传过去吧?这样感觉很麻烦。
不知大神们有什么好建议或者好方法呢?

------解决方案--------------------
可以考虑MVC模式

MVC不只能构造j2ee环境,对于j2se的构造也有很好的“分层”效果

lz可以考虑设计出一个控制器
message和client都通过这个层,来向对方发送命令

比如,
message收到一个信息,发送内容给控制器,
控制器来传递给client,client显示给用户

而且,根据lz的描述
client里面逻辑处理和显示处理是在一起的,
可以考虑分层设计,
类似servlet和jsp的关系,
servlet负责逻辑处理,然后把处理过的内容交给jsp完成

做j2ee做多了,就老绕着j2ee说,见谅啊见谅,
呵呵