问题讨论:程序 C/C++ Java GUI编程 ASP Php Shell Perl Web开发 软件工程 三大件 机箱 存储设备 光存储 音频设备 视频设备 外设 购机
asp php java C CGI .net vb delphi unix|linux sql Word Excel WPS OutLook Powerpoint Dreamweaver FPage/Golive CSS/HTML DOM/JS
热门词:流程图 excel 入侵检测 vss Windows 安全漏洞 QQ空间 事件编程 MFC

 程序设计交流 > 软件工程 

java桌面程序集成报表功能一例

[2007-11-21 2:16:20] [来源: 百家电脑学院] [我要投稿]

2005-10-28 10:50jassica001
java桌面程序集成报表功能一例

时至今日,java技术不仅被广泛应用在服务器端、手机、pda,而且,越来越多的桌面应用也开始采用java技术来构建。但如何使java桌面程序具备报表设计、预览、打印、导出功能,可供选择的方案不多,本文以纯java报表工具---杰表(www.jatools.com)为例介绍这方面的内容,供广大网友参考。

一、问题的提出
就客户的需求而言,java桌面程序可以以两种模式来使用报表:单机模式与C/S模式
如下图所示:
[img]http://www.jatools.com/demo/swingtools.png[/img]

单机模式不需要配置一台报表服务器,报表的生成,预览,打印,导出完全由客户端程序完成。这种模式适用于小的应用,优点是安装方便(如果配合hsqldb这种java数据库,一般解压就可以),报表生成效率极高(不需要页面信息流的传输)。缺点是不能兼顾web客户。

c/s模式,需要配置一台报表服务器,用于生成报表,并向客户端发送页面信息。Java桌面程序只负责显示,打印,导出等工作。这种模式优点是有利于报表模板的集中管理,有利于兼顾web方式浏览报表的需求。缺点是安装配置的工作量大。

实际上,在单机模式下,客户端程序本身就携带了报表生成引擎,只不过在c/s模式下,这个报表引擎被抽取出来,置于一台j2ee应用服务器上。
 
二、问题的解决
针对上述两种模式,杰表sdk提供了两个报表预览面板类:ZReportPreviewer(单机)、ZReportBrowser(c/s模式) ,这两个类都是从面板类(java.swing.JPanel)继承,所以您可以将其置于对话框对象(JDialog)的任何位置。

这两个面板,从外观上看是没有区别的, 面板可以有工具栏,用于打印、导出、页面导航、缩放等,如图所示:
[img]http://www.jatools.com/demo/previewer.png[/img]

单机模式下使用报表面板(ZReportPreviewer)
... ...
// 初始化预览面板
ZReportPreviewer previewer = new ZReportPreviewer();
// previewer.showToolbar(true);// 显示工具栏
ZReportDocument doc = ZReportDocument.load(“d:/test.xml”);// 取得一个报表模板对象
previewer.setDocument(doc); // 显示该报表模板
JDialog d= new JDialog();
d.getContentPane().add(previewer,BorderLayout.CENTER);
d.show();
... ...

C/S模式下使用报表面板(ZReportBrowser)
... ...
// 初始化预览面板
ZReportBrowser browser = new ZReportBrowser();
// browser.showToolbar(false);// 不显示工具栏
// 向j2ee应用服务器请求报表
browser.browse(“http://localhost:8080/jrs/server?file=test.xml”);
JDialog d= new JDialog();
d.getContentPane().add(browser,BorderLayout.CENTER);
d.show();
... ...


点击此处下载杰表sdk

本篇文章来源于:百家学院 (http://www.9php.com),复制请保留此行.

·看过 java桌面程序集成报表功能一例 文章的还看过:

·百家学院 | 最新评论·

评论内容:不能少于5个字,请自觉遵守互联网相关政策法规。

用户名: 验证码: 验证码,看不清楚?请点击刷新验证码