您当前所在位置:首页 > 论文 > 理学论文 > 其它理学论文

基于JFreeReport报表设计器的实现技术

编辑:

2015-11-02

(2)控制器新建一个或多个视图对象,并将它们与模型相关联;

(3)控制器改变模型的状态;

(4)当模型的状态改变时,模型将会自动刷新与之相关的视图。

Java通过专门的类Observable及Observer接口来实现MVC模式。Model类必须继承Observable类,View类必须实现接口Observer。正是由于实现了上述结构,当模型发生改变时,模型就会自动刷新与之相关的视图。其UML序列图可以表示为图1。

在系统具体实现时,首先建立视图类WmvcView,它继承了Obsever抽象类,重载了update()和updateView()方法。然后构造模型类WmvcModel,它继承自Observable抽象类,重载了addView(),deleteView()和notifyViews()方法。通过addView()方法,模型将实例化视图并且将视图与模型建立关系。最后创建控制器WmvcControllor类,它实现了ActionListener和ItemListener两个接口,重写actionPerformed()和itemStateChanged()方法[2]。至此,系统的MVC框架搭建完成。

最后建立WmvcApp类,它应用了单例模式(Singleton)来保证在整个系统中只有一个实例存在,实现了类似于VC++中的WinApp机制。应用单例模式的思路是:一个类能返回对象一个引用和一个获得该实例的方法。当调用这个方法时,如果类持有的引用不为空就返回这个引用,如果类保持的引用为空就创建该类的实例并将实例的引用赋予该类保持的引用;同时还将该类的构造函数定义为私有方法[3]。这样其他处的代码就无法通过调用该类的构造函数来实例化该类的对象,只有通过该类提供的静态方法来得到该类的唯一实例。 2系统界面设计

整个主界面采用有限制的多文档结构。所谓有限制的多文档结构,就是同一时间内只能打开一个文档的多文档结构。为什么要这样设计而不直接使用单文档结构呢?首先,是由于JFreeReport内核的限制。目前,JFreeReport只支持一个报表对象在内存中,也就是说同一时间只能打开一个报表文件。因此对于设计器系统来说,同一时间当然也只能打开一个文档。但是JFreeReport是一个发展很快的项目,也许它很快就能支持多文档编辑,为了保持系统的可扩展性,所以选择了多文档结构。其次,在系统界面中还引入了子菜单的概念,通过在子窗体上构造子菜单,将报表菜单与系统菜单分离,使得主界面更加简约,用户操作简便。

编辑老师为大家整理了JFreeReport报表设计器的实现技术,希望对大家有所帮助。

相关推荐:

浅谈物理换角度解题的弊论文 

试论物理教学类比法论文  

免责声明

精品学习网(51edu.com)在建设过程中引用了互联网上的一些信息资源并对有明确来源的信息注明了出处,版权归原作者及原网站所有,如果您对本站信息资源版权的归属问题存有异议,请您致信qinquan#51edu.com(将#换成@),我们会立即做出答复并及时解决。如果您认为本站有侵犯您权益的行为,请通知我们,我们一定根据实际情况及时处理。