困扰很久的是,我在想到底java中swing组件是如何良好的和逻辑类进行通信的?
比如,利用jList来记录主类A的所有活动是应该通过发送/接受消息的方式么?即每次A运行某个方法就放出一个消息通知jList
或者有其他任何方法?还有,我还是对MVC结构不太清楚的是,swing组件和逻辑类之间怎么才能放一个model呢?比如在jtext中写下数据,传送给A类,我觉得就应该是A.set(jtext.getText())
这样看来不就是两层而已么?模型何在?

解决方案 »

  1.   

    逻辑类是模型,
    swing组件是视图,
    消息机制是控制器,控制器主要负责流程的跳转。在 J2EE 中比较明显。在桌面程序中,程序实际上是靠界面的菜单、鼠标等事件驱动的,控制流程是很明确的。
      

  2.   

    但是核心java2第一卷第7版上说:
    The model, which stores the content
    The view, which displays the content
    The controller, which handles user input由此可见逻辑更合适控制器的概念。
    我翻阅了一些书籍,似乎java中提到的事件就只是单单指的awt或者swing的一些事件,是这些gui组件与逻辑相互传递消息的方式,并非一般对象之间传递消息的方式另外,所谓MVC模式其实如果只是用已经包装好的组件,比如jButton或者jList,模型根本就不需要人为设定(可以选择其他模型),也就是说,我们只要选择了jButton,就只要关系剩下的逻辑部分设计就可以了,至于其中的模型,我们也不用操心。不知上述是否正确