WEB开发网
开发学院软件开发Java 基于pureMVC的Swing程序的入门介绍 阅读

基于pureMVC的Swing程序的入门介绍

 2009-09-22 00:00:00 来源:WEB开发网   
核心提示: 当侦听到一个命令比如执行doShow01打开一个页面,这个页面如果需要和其他页面有消息接发的时候,基于pureMVC的Swing程序的入门介绍(4),那么在这里就主要注册一个Mediator,这个Mediator要重写两个方法,这样才能做到更好的分离,当然使用这个还涉及到一些不用的对象销毁等问题

当侦听到一个命令比如执行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监听到这消息就会显示出程序的主界面,这个主界面的效果图为

基于pureMVC的Swing程序的入门介绍

图片看不清楚?请点击这里查看原图(大图)。

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

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

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

上一页  1 2 3 4 

Tags:基于 pureMVC Swing

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接