收藏 分享(赏)

报表设计器开发.doc

上传人:wo7103235 文档编号:5015479 上传时间:2019-01-30 格式:DOC 页数:86 大小:1.41MB
下载 相关 举报
报表设计器开发.doc_第1页
第1页 / 共86页
报表设计器开发.doc_第2页
第2页 / 共86页
报表设计器开发.doc_第3页
第3页 / 共86页
报表设计器开发.doc_第4页
第4页 / 共86页
报表设计器开发.doc_第5页
第5页 / 共86页
点击查看更多>>
资源描述

1、- 1 -毕业设计 ( 论文 )题  目  报表设计器开发专  业   网络工程班  级       学  生       指导教师       年网 络 工 程 专 业 毕 业 设 计 ( 论 文 )摘 要现在是信息社会,各种信息都需要处理并直观展现,如股票,物价等信息都需要通过数据报表来展现、分析,因此高质量报表软件系统具有重要的实际意义。本论文课题研究探索了报表系统的开发方法与技术,综合应用Eclipse、 JAVA 、JDBC、SWT/J

2、face、 RCP、XML、 CSS、DOM4J,IText,POI等先进技术,开发了基于WEB环境运行的报表设计器,实现了报表设计、模板生成、报表编辑,报表发布等基本功能,为进一步开发实用的报表系统奠定了基础。 关键词:报表,SWT/Jface,Eclipse,XML,B/S,RCP报表设计器开发AbstractNow is the information society, all kinds of information need to be addressed and visual display, such as stock ,prices and other information

3、needed to demonstrate through data reports, analysis, the statements of high-quality software system has important practical significance.This paper statements subject to study and explore the system development methods and technology, comprehensive application of Eclipse, JAVA, JDBC, SWT / Jface, R

4、CP, XML, CSS, DOM4J, IText, POI, and other advanced technology, the development of the operating environment based on the statements WEB design , Achieved a report design, template generation, editing statements, issued statements of such basic functions, for the further development of practical sys

5、tem laid the foundation for statements.KEY WORDS: Report,SWT/JFace、Eclipse、XML、B/S、RCP  网 络 工 程 专 业 毕 业 设 计 ( 论 文 )目 录第一章 概述 11.1 课题背景与意义 11.2 报表系统发展概况 2第二章 开发技术及环境 42.1 软件环境 42.2 主要开发技术 4第三章 系统设计 63.1 系统体系结构 63.2 软件模块结构 73.3 数据源与系统文件结构 83.3.1 系统数据源 83.3.2 系统文件结构 93.3.3 报表显示部分文件 .13第四章 系统实现 .14

6、4.1 主要实现算法 .144.1.1 新建报表流程图 144.1.2 新建数据源流程图 154.1.3 编辑单元格流程图 164.1.4 保存报表流程图 .174.1.5 生成电子表格流程图 .184.1.6 发布报表流程图 204.1.7 编辑 CSS 流程图 .214.1.8 生成模板流程图 224.1.9 配置服务器流程图 234.2 系统编码实现 .234.2.1 系统的主界面实现 .234.2.2 新建数据源 .324.2.3 新建报表 344.2.4 编辑单元格 .354.2.5 生成电子表格 364.2.6 发布报表 404.2.7 编辑 CSS424.2.8 生成模板 .44

7、4.2.9 报表保存 .454.2.10 配置服务器 .48报表设计器开发第五章 系统典型界面 .515.1 系统主界面 .515.1.1 编辑视图界面 .525.1.2 属性视图界面 525.1.3 服务器视图界面 535.1.4 数据源视图界面 535.2 部分功能界面 .545.2.1 新建报表界面 .545.2.2 新建数据源界面 .555.2.3 设置 CSS 界面 .565.2.4 设置服务器参数界面 .575.2.5 设置报表参数界面 .585.2.6 生成模板界面 58第六章 课题总结 .60致谢 62参考文献 63附录 65网 络 工 程 专 业 毕 业 设 计 ( 论 文

8、)1第 一 章 概 述1.1 课题背景与意义现在是信息社会,各种信息都需要处理并直观展现,如股票,物价等信息都需要通过数据报表来展现、分析,因此对高质量报表软件系统的需求非常强烈。报表设计工具是报表系统的重要组成部分,使用报表设计工具,可对企业以及其他用户需要的各种报表进行设计,并在报表引擎上运行。报表设计工具的功能包括数据源关联与访问、报表绘制、布局绘制、属性编辑、脚本编辑、图表编辑、表达式编辑、报表数据映射、报表预览调试等。可通过 XML 转换技术将报表转换换为 PDF、Excel 等格式输出。随着 B/S 应用逐步取代 C/S,市场上对 Web 环境下运行报表的要求日益强烈,C/S 时期

9、的报表工具纷纷进行了若干改进与加强,支持 B/S 结构。这些工具大都是对开源软件进行包装改造,基本上有两种流派:一类来自于 FastReport 这种基于 Delphi 的软件,通过控件方式实现 Web 报表,进而将报表计算移至服务器上进行,再改进为支持 Linux;另一类来自于Jasper 的基于 Java 的开源软件。这些工具的整体思路还是沿袭了 C/S 时的方式,仍然是传统的分组报表的模式,仍然无法解决表样和大作量的代码编写问题,而且使用复杂,不能很好的发挥其效率,不能利用已有的软件功能,同时他们都是利用 SWING/AWT 来开发的,界面难看。 因此,开发一个具有 B/S 结构、能适应

10、中国国情、开源的、使用方便、界面美观的报表设计器是一个很多用户直期待的。但是,目前流行的报表软件产品中,比较适合中国情况的产品还是不多。因此,进行本课题研究,开发报表设计器软件,对于开发适合中国特点的实用报表系统,促进企业与社会信息化,具有很好的实际意义。报表设计器开发21.2 报表系统发展概况信息化的初期阶段,计算机作为一种新的生产工具,其主要功能是文字输出,如文件打印、表格输出等,相比较手工方式而言,工作效率大大提高。这个时期,用于报表生成的软件主要是 WPS 表格、CCED、Excel 等文字处理工具,这些工具仅仅是将手工绘制报表的方式改为电子处理方式,未涉及到报表数据的集中、共享等处理

11、。更确切地说,这个时期还没有真正意义上的报表工具。随着信息化程度的不断提高,C/S 应用方式逐渐成熟,出现了很多报表工具软件,最著名的当属水晶报表和 PB 的 DataWindow。水晶报表在上世纪一直被微软 OEM,成为 VB 的内置报表工具,在微软的强大支持下,VB庞大的用户群为水晶报表培养了众多应用人员并积累了大量成功案例,从而产生了世界第一(用户量)的报表工具。DataWindow 是 PB 中获取专利技术的控件,它对数据的处理方法相当简洁,能处理各种显示格式,快速的报表制作能力深受 PB 开发者的喜爱。这些软件的基本特征是单数据源、条带式(BAND)分组统计模型,通过控件拖拽方式绘制

12、报表,在不编码的情况下能完成简单地行式(分组)报表和单片交叉报表,数据集中在数据库中,可以共享。但这一时期的用户需求已经与前一阶段的需求大为不同。用户希望放在数据库中的数据能以自己熟悉的方式展现(复杂的表样、统计运算等),而这些报表软件的数据模型源于国外的报表习惯,解决复杂表样的方法并不好,复杂的统计运算也要求开发人员编写大量的程序代码,导致报表开发时间太长,后期的维护工作量也很大。随着 B/S 应用逐步取代 C/S,市场上对 Web 报表的要求越来越强烈,C/S 时期的报表工具纷纷进行了若干改进与加强,普遍支持 B/S 结构,新的报表软件也如雨后春笋一样不断出现。网 络 工 程 专 业 毕

13、业 设 计 ( 论 文 )3在报表工具的发展过程中,还有一类特殊的表格式产品,最著名有ormula1 和华表。这种类 Excel 的工具,展现能力非常强,但是因为没有数据模型,导致其数据处理能力几乎为零,程序员需要按格编写代码往里填数。相比较分组式报表工具,类 Excel 工具能彻底解决复杂报表的样式问题,所以在实际应用中它一直是与分组报表互补的一类产品。SWT/JFACE 是 Eclipse 推出优秀的 JAVA 图形 API。RCP,也就是富客户端,是在 Eclipse3.0 之后分离出来的一个平台。RCP 技术其实就是插件开发,可以在一个很小的模板上加入各种插件,扩展性能。现在 RCP

14、已经成为 Eclipse 开源项目的一个亮点,在国际上广泛的使用大量 PCR 来开发桌面应用程序。在 RCP 平台上,可以使用 Eclipse的插件机制来快速开发独立应用的桌面应用,从而轻松拥有 Eclipse 的界面结构和界面元素,节省了很多开发精力。运用 SWT/Jface 和 RCP 技术来开发报表,是当前报表开发的主流方向。一方面,SWT/Jface 可以提供优秀的图形界面,克服 JAVA 桌面应用界面难看的缺陷;另一方面 RCP 技术可以提高开发效率。联合运用 SWT/Jface 和RCP 技术,可以开发出优秀的报表产品。报表设计器开发4第 二 章 开 发 技 术 及 环 境2.1

15、软件环境本系统的开发环境:操作系统:  Window server 2003 标准版应用服务器: Tomcat5.5开发平台:eclipse3.3 ;jdk1.52.2 主要开发技术SWT/JfaceSWT(Standard Widget Toolkit )是标准控件工具集。Jface 意为JAVA face。由于 SUN 的 AWT/SWING 技术在与本地界面融合方面存在缺陷,因此 IBM 开发了 SWT,使得界面风格和本地保持一致。而 Jface 是 SWTa 的扩展包,采用 MVC 的设计模式,使用更加方面。RCPRCP(Rich Client Platform)意为富客户平

16、台。在 RCP 平台上,可使用 Eclipse 的插件机制来快速开发独立应用的桌面应用,从而轻松拥有Eclipse 的界面结构和界面元素,节省了很多开发精力。Dom4j Dom4j (Document Object Model for JAVA)是一个易用的、开源的库,用于 XML,XPath 和 XSLT。它应用于 Java 平台,采用了 Java 集合框架并完全支持 DOM,SAX 和 JAXP。Dom4j 使用起来非常简单,效率高。只要了解基本的 XML-DOM 模型就能使用。POI POI(Point of Interest)意为为兴趣点,是 JAVA 与 MS Office 交互时用

17、到的第三方 JAR,也是开源的,属于 Apache 的一个项目,用法简单。它主要用来读写 OLE 2 复合文档结构,本系统主要用它来操作 EXCEL。IText 网 络 工 程 专 业 毕 业 设 计 ( 论 文 )5iText 是著名的开放源码的站点 sourceforge 一个项目,是用于生成PDF 文档的一个 java 类库。通过 iText 不仅可以生成 PDF 或 rtf 的文档,而且可以将 XML、Html 文件转化为 PDF 文件。用法很简单,效率很高。Lomboz lomboz 是用来开发 j2ee 应用、免费 eclipse 插件,用它可以大大加快 web 开发、部署等工作。

18、报表设计器开发6第 三 章 系 统 设 计3.1 系统体系结构本 系 统 采 用 三 层 B/S 架 构 , 分 别 为 表 示 层 、 设 计 层 和 数 据 层 , 如图 3-1 所 示 。(1) 表 示 层 (Presentation-Tier)是 报 表 显 示 层 。 本 报 表 系 统 的 表 示 层 有 三 种 类 型 : Web 类 型 , Excel类 型 , Pdf 类 型 。( 2) 设 计 层 (Designer-Tier)是 本 报 表 系 统 的 重 中 之 重 。 设 计 层 设 计 的 好 坏 直 接 影 响 到 报 表 的 使用 。 其 主 要 任 务 是 建

19、 立 报 表 、 修 改 报 表 、 发 布 报 表 、 生 成 模 板 等 。 这 涉及 到 报 表 的 数 据 来 源 , 报 表 的 格 式 , 报 表 输 出 , 是 连 接 表 示 层 和 数 据 层的 桥 梁 。( 3) 数 据 层 (Data-Tier)主 要 是 和 用 户 有 关 。 本 报 表 系 统 可 以 与 几 种 常 用 的 数 据 库 系 统 交 互 。报 表 中 可 以 输 入 的 数 据 很 多 ,如 图 表 、 序 列 号 、 常 量 等 。 数 据 层 可 以 存储 并 管 理 这 些 数 据 。网 络 工 程 专 业 毕 业 设 计 ( 论 文 )7图

20、3-1 系 统 体 系 结 构 图3.2 软件模块结构本系统的软件模块结构,如图 3-2 所示。图 3-2 系 统 软 件 模 块 结 构 图图 3-2 中各模块的基本功能如下:新建报表:设置报表的名字、每页显示数目、选用报表模板;把这些数据存到 Preferences 中,供保存报表使用。新建数据源:设置数据源名称,用它来标识数据连接;选择数据库类型,并设置各种连接参数;进行数据源说明;进行连接测试;连接成功后把数据源名称和各种连接参数保存到 dataSource.xml 文件中,供以后使用;而数据源说明就生成一个文本文件保存。编辑单元格:设置单元格的数据,如数据源列、函数、系列号、图像;设

21、置颜色,字体;设置所对应的行列是否扩展,所对应的行列是否排序。这些都要用一定的格式保存起来,供报表显示时使用。保存报表:设置单元格属性后,保存设置内容。先从 Preferences报 表 设 计 器新建报表 发布报表 编辑报表 编辑单元格 保存报表 编辑CS生成模板 生成电子表格 配置服务器 新建数据源报表设计器开发8读取报表相关数据,然后生成报表的 xml;遍历表格,把表格各种信息填到 xml 中。编辑报表:保存表格后,如觉得不满意,可以打开报表修改。读取 xml,把相关信息填到相应的单元格。也可以设置报表的每页的行数、报表发布者、发布时间、报表说明。生成电子表格:电子表格可用来直接发布,也

22、可用来编辑。先读取报表 xml 文件,得到各个单元格的数据源,根据数据源不同,得到不同的数据,并填到相应的电子表格内。可以设置电子表格的属性。发布报表:先设置发布目录,然后把项目文件夹下 Files 目录下的名和 Preferences 中保存相同的,后缀名为 xml、xls、css、pdf的文件都复制到发布目录下。如发布目录已有相同文件,就覆盖。编辑 CSS:CSS 决定网页页面显示格式,对报表非常重要。本系统提供一个模板,旁边还有介绍各种标记的代表的内容的提示,这样用户就可以自己修改它。修改完后点“确定”,生成报表名+“.css”的样式文件。生成模板:CSS 不是很难,但要做一个好看的格式

23、却很难,所心有必要把前面生成的 CSS 文件保存起来,提供下次使用。首先设置模板名字,然后设置说明,点“确定”后,系统会把当前报表的 CSS 文件复制到模板 xml 文件,并生成说明的 txt 文件。配置服务器:配置发布目录、端口、最大线程数,以方便使用。3.3 数据源与系统文件结构3.3.1 系统数据源报表就是数据的显示,所以数据源很重要。本系统的数据源方案如下:网 络 工 程 专 业 毕 业 设 计 ( 论 文 )9(1) 提供建立数据源及管理数据源的功能。针对不同类型的数据库数据,建立相应的数据源。建立了数据源后,就用一个 XML 文件保存数据源信息,以后可直接从 XML 文件读取或修改

24、连接信息。(2) 提供对其它类型数据源的支持。主要支持 EXCEL 文件、函数、系列号、公式等数据源。EXCEL 文件可以直接解析为 WEB 格式,而函数,系列号,公式,图像等可以直接插入。3.3.2 系统文件结构本系统作为一个桌面应用系统,涉及到许多文件系统,不管用户还是开发者,都有可能容易迷失在文件堆中,所以必须科学管理。为了解决此问题,本系统设计了系统主目录文件结构,以下是系统主目录的的文件截图:图 3-4 系统主目录文件结构图 图 3-4 中各文件的功能如下:.metadata 文件夹:系统自动生成,保存有日志文件。.setting 文件夹: 系统自动生成,用于保存项目的各个参数。报表

25、设计器开发10Bin 文件夹:存放已经编译过的 JAVA 的.class 文件。DataSource 文件夹:存放数据源的 dataSource.xml 文件,其中还有各种.txt 文件,用来说明各个数据源。该文件夹结构如图 3-5 所示:图 3-5 DataSource 文件夹示意图Files 文件夹:用来存放所生成的报表。其中有存放报表信息的 xml文件,也有生成为电子表格的.xls 文件、pdf 文件。当然也存放了报表说明的.txt 文件,其结构如图 3-6 所示: 图 3-6 Files 文件夹示意图图 3-6  Files 文件夹结构示意图icons 文件夹:用来存放图象,

26、如按钮图标。intro 文件夹:系统自动生成。lib 文件夹:用来存放第三方 JAR 包。META-INF 文件夹:系统自动生成,里面有 MENIFEST.MF,在这个文件里网 络 工 程 专 业 毕 业 设 计 ( 论 文 )11有描述插件各种信息基本信息。src 文件夹:是源文件,其结构如下图所示:图 3-7 src 文件夹示意图从图中可知,src 文件夹包括两个包,一个是 xautreportdesign 包,里面有 Activator.java 文件,这是 RCP 的激活类。另一个是 com 包。其实这个包里有三个子包:com. Xautreportdesign.action,主要用来

27、存放菜单,工具栏动作类的;com. Xautreportdesign.util,主要用来存放一些工具类的,这些工具类对全局都有用;com.Xautreportdesign.win,主要是界面方面的类,有一些是自动生成后我修改的。com. Xautreportdesign.action 包中的一部分类如图 3-8 所示:报表设计器开发12图 3-8 com. Xautreportdesign.action 包中文件示意图com. Xautreportdesign.util 包中的类如图 3-9 所示:图 3-9 com. Xautreportdesign.util 包中文件示意图com. Xau

28、treportdesign.win 包中类类如图 3-10 所示:图 3-10 com. Xautreportdesign.win 包中文件示意图Template 文件夹:是保存模板的文件夹,里面有模板文件.css 文件,也有模板说明.txt 文件,如图 3-11 所示:网 络 工 程 专 业 毕 业 设 计 ( 论 文 )13图 3-11 Template 文件夹示意图.classpath、.project、build.properties、javaCompiler.args、plugin.xml、plugin_customization.ini 都是系统自动生成的。build.xml:是用

29、 ant 生成的,为系统打包用。Report.product:是要生成的新产品配置文件。splash.bmp:系统启动时产闪动画面使用。3.3.3 报表显示部分文件对于报表 WEB 显示部分,有如下重要文件或文件夹:dataSource 文件夹:存放数据源文件 dataSourece.xml。photo 文件夹:存放需要的图片文件。.css 文件:是报表的 css 文件。report.jsp:是解析保存报表信息的.xml 的文件。exceltoweb.jsp:是解析 EXCEL 并生成 WEB 的文件。报表设计器开发14第 四 章 系 统 实 现4.1 主要实现算法4.1.1 新建报表流程图开

30、始结束输 入 报 表 信 息已 有 相 同 报 表输 入 数 字 ?存 入 Preferences是否图 4-1 新建报表算法流程图该算法首先判断是否已有同名的报表,然后判断行数是否为数字,最后存入 Preferences 中。网 络 工 程 专 业 毕 业 设 计 ( 论 文 )154.1.2 新建数据源流程图选 择 数 据 库输 入 连 接 信 息试 连 接是 否 成 功写 入 XML文 件是否结束开始图 4-2 新建数据源算法流程图该算法先选择合适自己的数据库,然后输入信息,最后连接,看是否成功,若成功就把信息保存起来。报表设计器开发164.1.3 编辑单元格流程图选 择 单 元 格设

31、置 单 元 格 可 编 辑选 择 数 据 源设 置 单 元 格 属 性开始结束图 4-3 新建报表算法流程图该算法首先要得到当前鼠标的位置,然后转化为表格的行列,最后选择数据源,并设置单元格属性。4.1.4 保存报表流程图 读 取 Preferences生 成 xml遍 历 表 格写 入 xml是否用模板是生成相应 C S S结束否开始       图 4-4 保存报表算法流程图该算法首先从 Preferences 中读取报表相关信息,生成报表名的 xml文件。然后遍历表格,读取各非空单元格的值及属性,填入写入小 xml 文件中,最后看是否用到模板,如用到,就生成

32、报表名的 css 文件。生成xml 的代码如下所示:A1 在 XautReportFile 中, “Name”代表报表的名字, “tempname”代表报表用到的模板, “rownum”代表 WEB 页每页显示的行数, “ownerName”代表作者,time 代表发布时间,intro 代表是否有说明内容。而 Columm 代表一个单元格, “DataSource”代表数据源,里面不同的部分又代表不同的意思:如前面为“D:” ,那代表数据库,中间代表前面建的数据源的名称,最后代码数据源的列。如前面是“I:”,那代表常量,后面部分就是常量的值。 、如前面是“S:”,那代表系列号,后面代表系列号的

33、一部分。如前面是“F:” ,那代表的是函数,后面是函数。“Span”,代表扩展情况。扩展就是其它单元格的值是否依赖这个单元格的值;“Arrange”代表是否排序;“Color”代表是颜色, ;“Font”代表字体。而这个单元格的 ID 是 A1。4.1.5 生成电子表格流程图网 络 工 程 专 业 毕 业 设 计 ( 论 文 )18开 始读 Prefnces读 报 表 xml读 数 据 源 xl连 接 数 据 库创 建 xls文 件数 据 库 写 入 xls结 束报表设计器开发19图 4-5 生成电子表格算法流程图该算法首先从 Preferences 中得到当前报表名,然后读取报表 XML 文

34、件,得到数据源名称。读取数据源 XML,遍历得到数据源的各种参数。用这些参数连接数据库。用 POI 创建 EXCEL 文件。把数据库中数据写入 EXCEL文件。4.1.6 发布报表流程图 开 始读 Prefrnces复 制 xml到 发 布 目 录复 制 到 发 布 目 录已 设 发 布 目 录 ?设 置 发 布 目 录 有 相 应 excl文 件 ?有 相 应 cs文 件有 相 应 tx文 件复 制 到 发 布 目 录复 制 到 发 布 目 录有 相 应 pdf文 件复 制 到 发 布 目 录结 束是否否 否否 否图 4-6 发布报表算法流程图该算法首先从 Preferences 中查看发布

35、目录,如有,就复制报表 XML到发布目录,如没有,就设置。然后就开始判断是否有相关文件,如有,就一同复制,因为不复制,就没有用。报表设计器开发204.1.7 编辑 CSS 流程图 开 始读 cs模 板 文 件读 Prefrnces创 建 报 表 CS已 有 相 同 文 件 ?覆 盖 写 入 文 件结 束是图 4-7 编辑 CSS 算法流程图该算法首先从 CSS 模板中读出模板内容,并显示出来,提供用户修改。修改完成后点确定,从 Preferences 得当前报表,然后生成报表的 CSS 文件,如已有相同的就覆盖。最后把修改后的 CSS 写入报表文件。4.1.8 生成模板流程图 开 始设 置 模

36、 板 名 字 及 说明得 到 当 前 报 表生 成 模 板 CS及 说明 文 件读 取 当 前 报 表 CS写 入 模 板 文 件结 束图 4-8 生成模板算法流程图该算法首先设置要生成模板的模板名及说明。然后生成模板文件,当网 络 工 程 专 业 毕 业 设 计 ( 论 文 )21然是 CSS 类型。如模板说明不为空,也生成文件文件类型的说明书。然后从 Preferences 中得到当前报表,由此得到当前报表的 CSS 文件,最后把这 CSS 文件的内容写入模板文件里。4.1.9 配置服务器流程图 开 始读 取 服 务 器 配 置 文 件显 示 当 前 值把 修 改 后 值 写 入 文 件更

37、 新 相 关 视 图结 束图 4-9 配置服务器算法流程图该算法首先读取服务器配置文件并显示各个参数,这可以修改。点确定后,就把修改后值写入配置文件,并更新相关视图。4.2 系统编码实现4.2.1 系统的主界面实现本系统采用 Eclipse RCP 技术,也就是开发可以独立运行的 Eclipse的插件。运用 RCP 技术,可以实现与 Eclipse 一样友好的界面,可以方便地组装成一个很强大的系统,因为这是采用插件机制。本系统的主界面如报表设计器开发22图 4-1 所示:图 4-1 报表设计系统主界面图由图 4-1 可以看到,本系统和 Eclipse 界面有很大的相似性。本系统主要用到了包 c

38、om.xautreportdesign.win。其中各个类的功能及重要代码说明如下:Application 类:是 RCP 程序的入口类,RCP 程序启动后第一个执行就是它,它负责程序的载入与退出。这个类是建立项目后自动生成的,平常情况不需要修改。ApplicationWorkbenchAdvisor 类:是配置工作台的类,工作台的初始化就在这完成。这个类是建立项目后自动生成的,可以修改成自己需要的。这个类的部分代码如下:ApplicationWorkbenchWindowAdvisor类:用来设置窗口。一个工作台可以有多个窗口,所以可以多个该类的对象。这个类是建立项目后自动生成的,可以修改成

39、报表设计器开发23自己需要的。下面代码说明了窗口大小为(700, 550),有工具栏,窗口标题,显示状态栏,生成系统托盘等。以下是该类的部分实现代码:public void preWindowOpen() /* 设置窗口初始化的各种属性 */IWorkbenchWindowConfigurer configurer = getWindowConfigurer();configurer.setInitialSize(new Point(700, 550);configurer.setShowCoolBar(true);configurer.setShowStatusLine(false);con

40、figurer.setTitle(“报表生成系统“);configurer.setShowPerspectiveBar(true);configurer.setShowStatusLine(true);final IWorkbenchWindow window = getWindowConfigurer().getWindow();/* 创建系统托盘 */trayItem = initTrayItem(window);/* 如果支持系统托盘,则创建托盘的菜单 */if (trayItem != null) createPopupMenu(window);Perspective 类:是透视图类。

41、透视图是各个视图,编辑面组成的一个专用的程序界面。本类是项目默认生成,当然也可以写自己的视图,只要实现 IperspectiveFactory 接口。下面就是本透视图的布局部分代码,效果如图 4-1 所示。public void createInitialLayout (IPageLayout layout) String editorArea = layout.getEditorArea();layout.setEditorAreaVisible(true);layout.setFixed(false);/ layout.addView(View.ID,IPageLayout.LEFT, 0

42、.25f, editorArea);IFolderLayout left = layout.createFolder(“left“, IPageLayout.LEFT,0.25f, editorArea);left.addPlaceholder(DatasourceView.ID);left.addPlaceholder(ServerView.ID);layout.getViewLayout(ServerView.ID).setCloseable(false);layout.getViewLayout(ServerView.ID).setMoveable(false);网 络 工 程 专 业

43、毕 业 设 计 ( 论 文 )24layout.addPlaceholder(editAreaView.ID, IPageLayout.TOP, 0.50f,editorArea);layout.addPlaceholder(AttributeView.ID, IPageLayout.BOTTOM, 0.25f,editorArea);layout.getViewLayout(AttributeView.ID).setCloseable(false);layout.getViewLayout(AttributeView.ID).setMoveable(false);ApplicationAct

44、ionBarAdvisor 类:负责创建和配置工作台窗口上主菜单,工具栏,状态栏等,是报表各种功能模块相关入口。下面的代码是用来建立系统托盘项。其中 new Separator()是画一条分隔线,在菜单工具栏中也用到。public void fillTrayItem(MenuManager trayMenu) trayMenu.add(deployAction);trayMenu.add(new Separator();trayMenu.add(exampleAction);trayMenu.add(aboutAction);editAreaView 类:是编辑视图类。视图相当于一个小窗口,显示某一方面的内容,可以在一个页面上放置几个视图。视图可通过两种方式创建:一通过扩展点:修改 plugin.xml 文件,设置视图扩展点,在最后一行的前加入,下面的代码说明了扩展点是org.eclipse.ui.views,视图名字是“编辑区” ,对应的 JAVA 文件是com.xautreportdesign.win.editAreaView,ID 是视图的标识,为XautReportDesign.EditAreaView。对于其它视图,都可以这样创建:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 统计图表

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报