时至今日,java技术不仅被广泛应用在服务器端、手机、pda,而且,越来越多的桌面应用也开始采用java技术来构建。但如何使java桌面程序具备报表设计、预览、打印、导出功能,可供选择的方案不多,本文以纯java报表工具---杰表(
www.jatools.com)为例介绍这方面的内容,供广大网友参考。
一、问题的提出
就客户的需求而言,java桌面程序可以以两种模式来使用报表:
单机模式,
与C/S模式。如下图所示:
单机模式不需要配置一台报表服务器,报表的生成,预览,打印,导出完全由客户端程序完成。这种模式适用于小的应用,优点是安装方便(如果配合hsqldb这种java数据库,一般解压就可以),报表生成效率极高(不需要页面信息流的传输)。缺点是不能兼顾web客户。
c/s模式,需要配置一台报表服务器,用于生成报表,并向客户端发送页面信息。Java桌面程序只负责显示,打印,导出等工作。这种模式优点是有利于报表模板的集中管理,有利于兼顾web方式浏览报表的需求。缺点是安装配置的工作量大。
实际上,在单机模式下,客户端程序本身就携带了报表生成引擎,只不过在c/s模式下,这个报表引擎被抽取出来,置于一台j2ee应用服务器上。
二、问题的解决
针对上述两种模式,杰表sdk提供了两个报表预览面板类:ZReportPreviewer(单机)、ZReportBrowser(c/s模式) ,这两个类都是从面板类(java.swing.JPanel)继承,所以您可以将其置于对话框对象(JDialog)的任何位置。
这两个面板,从外观上看是没有区别的, 面板可以有工具栏,用于打印、导出、页面导航、缩放等,如图所示:
单机模式下使用报表面板(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
分享到:
相关推荐
Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。 设定字符串为“张三,你好,我是李四”...
【IReport3.7开发Web报表】是一款基于Java的报表设计工具,专用于创建PDF、HTML和Excel格式的Web报表。...总的来说,IReport是一个强大而灵活的报表开发工具,对于Java开发人员来说是一个理想的报表解决方案。
这样的组合为初学者提供了一个实践Java桌面应用开发的绝佳平台。 1. **Java Swing**: Java Swing是Java Foundation Classes (JFC)的一部分,用于创建桌面应用程序。它提供了丰富的组件库,如按钮、文本框、表格等,...
这部分将介绍如何利用JasperReports作为报表控件来开发基于桌面的应用程序。这种类型的报表通常用于离线查看或打印报表。 ##### 2.2 步骤详解 1. **集成JasperReports库:** 将JasperReports库添加到项目的类路径中...
在Web和胖客户端应用中,可以通过Jasperreport控件集成报表功能。在Web应用中,可以利用Servlet或JSP来生成报表并展示。而在桌面应用中,可以通过JasperViewer或者自定义的视图组件来显示报表。 总结来说,ireport...
Java 图书馆管理系统是一款基于Java编程语言、利用NetBeans集成开发环境构建的应用软件,专门用于管理图书信息。该系统具备高效、稳定和易用的特点,适用于各类图书馆进行图书的录入、借阅、归还以及库存管理等日常...
在开发胖客户端报表应用时,JasperReports提供了丰富的API,允许开发者在Java应用程序中动态生成报表。这包括连接数据源、填充报表模板、以及渲染输出报表等功能。 ##### 3.2 Web报表应用开发 在Web环境中,...
综上所述,通过 iReport 制作报表模板,再结合 JasperReport 进行报表的开发与部署,无论是桌面应用程序还是 Web 应用程序,都可以轻松实现报表功能。这对于提高业务效率、数据分析等方面具有重要意义。
JBuilder是Borland公司(现已被Embarcadero Technologies收购)推出的一款强大且功能丰富的Java开发工具,它支持多种Java应用程序类型,包括桌面应用、Web应用以及企业级的Java EE应用。 房产管理系统的核心功能...
C#是微软开发的一种面向对象的编程语言,常用于构建Windows桌面应用程序,如本例中的学生成绩系统。C#的强大功能在于其丰富的类库和对.NET框架的深度集成,这使得开发高效、稳定的桌面应用变得相对容易。 “虚拟...
综上所述,这个项目涉及了软件工程中的GUI设计、数据库管理和业务逻辑实现等多个方面,对于学习和理解Java桌面应用开发,以及数据库系统的实际应用具有很高的参考价值。通过分析和研究这个项目,开发者不仅可以深入...
olap4j-0.9.7.309-JS-3.jar是主要的库文件,包含了olap4j的类和方法,使得开发人员可以在Java应用程序中使用这些功能。这个版本号(0.9.7.309)表示了库的更新迭代,每个版本通常会修复已知问题、增加新特性或提高...
综上所述,JFreeChart是一个功能强大、灵活且易于集成的Java图表库,特别适合那些寻求高质量图表展示且预算有限的Java开发者。通过合理的设计和配置,它能够满足大部分图表生成需求,无论是用于桌面应用还是Web应用...
例如,所有业务线都一致认为需要实现报表生成和统计功能,这表明数据统计与分析是安全管理中最基础且重要的需求之一。 ##### 2.3 需求整理取舍 基于需求收集的结果,采用亲和图法对需求进行分类和整合,提炼出了几...
由于其强大的功能和灵活性,JFreeChart被广泛应用于各种Java应用程序中,无论是桌面应用还是Web应用。 #### 二、JFreeChart的获取 JFreeChart是作为开源项目托管在SourceForge.net上。除了JFreeChart本身,JFree...
Selenium支持多种编程语言,如Java、Python、C#等,这使得它非常灵活且易于集成到现有的开发流程中。在办公系统自动化中,Selenium可以模拟用户的各种交互行为,如点击按钮、填写表单、选择下拉菜单等,从而实现对...
VB具有直观的图形用户界面(GUI)和强大的数据库集成能力,非常适合用于开发桌面应用,如本例中的学籍管理系统。 2. **事件驱动编程**:VB采用事件驱动模型,用户与界面的交互(如点击按钮)会触发预先定义的代码块...
首先,我们要理解“Winfor”可能是指Windows Forms,这是微软.NET框架的一部分,用于构建桌面应用程序。然而,根据描述,这个特定的系统并没有使用.NET,这意味着它可能采用了其他编程语言和框架,比如C++、Java、...
传统的应用程序,如报表系统,也开始转向网络化。然而,在Web环境下展示数据与传统的桌面应用存在很大差异,尤其是用户界面方面。为了适应多样化的客户端需求,开发者需要采用HTML和图像等方式来展示数据。 在Web...
Winform是.NET框架的一部分,用于创建桌面应用程序,具有丰富的控件和直观的拖放界面设计。"学生信息"和"课程成绩管理"表明该系统具备管理学生个人信息和学业成绩的功能,如添加、修改、删除和查询学生资料,以及...