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

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

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

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

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

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

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

[b]单机模式下使用报表面板(ZReportPreviewer)[/b]
... ...
// 初始化预览面板
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();
... ...

[b]C/S模式下使用报表面板(ZReportBrowser)[/b]
... ...
// 初始化预览面板
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();
... ...


[url=http://www.jatools.com/download/download.htm][b]点击此处下载 杰表sdk[/b][/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值