快速业务通道

基于pureMVC的Swing程序的入门介绍 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-21
过去,就可以放在这里面,比如在接下来的登入成功后就会把用户的信息,发送到主界面中去,就可以这样定义:

Map data = new HashMap(); data.put("userName", name); facade.sendNotification(ApplicationConstants.LOGIN_SUCESS, data, null);

arg2:一般可以为空,或其他什么标识等。

当发送完一个命令对应的Command监听到,他会在一个execute方法中做出相应的操作如:

@Override     public void execute(INotification noti) {         super.execute(noti);         if(ApplicationConstants.SHOW_FRAME_01.equals(noti.getName())){             //打开InternalFrame01             doShow01();         }else if(ApplicationConstants.SHOW_FRAME_02.equals(noti.getName())){             //打开InternalFrame02             doShow02();         }     }

当侦听到一个命令比如执行doShow01打开一个页面,这个页面如果需要和其他页面有消息接发的时候,那么在这里就主要注册一个Mediator,这个Mediator要重写两个方法,

public String[] listNotificationInterests( ){         return new String[]{                 ApplicationConstants.LOGIN_SUCESS,                 ApplicationConstants.CREATE_FRAME,                 ApplicationConstants.EXIT,                 ApplicationConstants.SEND_TO_FRAME_01,                 ApplicationConstants.SEND_TO_FRAME_02         };     }

这个listNotificationInterests方法注册我要监听什么消息。

基于pureMVC的Swing程序的入门介绍(3)

时间:2011-01-16 BlogJava kissjava

还一个handleNotification方法如:

public void handleNotification(INotification noti) {         // TODO Auto-generated method stub         super.handleNotification(noti);         if(ApplicationConstants.LOGIN_SUCESS.equals(noti.getName()))             doLoginSucess(noti);         }     }

这个handleNotification方法,是执行监听到那些消息后执行具体的动作。也就说一个命令发送会有Command和Mediator都接受到。大致这个框架就是这样处理的。

通过上面的介绍,我们就结合一个例子来简单实现下,这个例子大意是程序启动后出现一个登入框,任意输入用户名和密码点击登入,就会发送一个消息 LOGIN_SUCESS,那么这主界面对应的MainFrameMediator监听到这消息就会显示出程序的主界面,这个主界面的效果图为

其中点击菜单栏的Frame01就会出现标题栏为:Kissjava的一个JinternalFrame,点击Frame02会出现一个标题栏为 Rocky Jiang的JinternalFrame,在标题栏为Kissjava页面中的输入框中输入一些信息点击发送一个SEND_TO_FRAME_02消息,这个消息会有对应的标题栏为Rocky Jiang的页面对应的Mediator和主界面的Mediator监听到。所以在各自对应的日志输入框中都会出现对应的消息。刚兴趣的人可以在后面提供的链接下载代码自己运行看看。代码结构简单。

使用PureMVC机制,可以很好的实现MVC三层很好的分离,在本例子中由于例子简单就没涉及到Model层,这个Model它只负责有数据更改的时候发送消息,但不会接受消息,这样才能做到更好的分离。

当然使用这个还涉及到一些不用的对象销毁等问题,这里就不详说了。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号