基于pureMVC的Swing程序的入门介绍
2009-09-22 00:00:00 来源:WEB开发网当侦听到一个命令比如执行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方法注册我要监听什么消息。
还一个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它只负责有数据更改的时候发送消息,但不会接受消息,这样才能做到更好的分离。
当然使用这个还涉及到一些不用的对象销毁等问题,这里就不详说了。
- ››基于IP地址的vsftp服务器
- ››基于MySQL 水平分区的优化示例
- ››基于CentOS5的Linux下pptp和openvpn的搭建及配置
- ››基于JavaScript的网页版塔防游戏
- ››基于Android平台 QQ大战360手机游戏爆红
- ››基于Windows Azure的云计算应用设计
- ››基于AES算法实现对数据的加密
- ››基于SoPC目标板Flash编程设计的创建及应用
- ››基于SolidWarks齿轮机构的运动分析与仿真
- ››基于Windwos Server 2008故障转移群
- ››基于JavaScript的REST客户端框架
- ››基于JavaScript和CSS的Web图表框架横向对比
更多精彩
赞助商链接