package com.easyway.tbs.commons.ext.views.printer;
import org.ceclipse.reporting.IReport;
import org.ceclipse.reporting.IReportPage;
import org.ceclipse.reporting.Report;
import org.ceclipse.reporting.ReportData;
import org.ceclipse.reporting.ReportUtil;
import org.eclipse.nebula.widgets.grid.Grid;
import org.eclipse.swt.printing.PrintDialog;
import org.eclipse.swt.printing.Printer;
import org.eclipse.swt.widgets.Table;
import org.eclipse.ui.PlatformUI;
/**
* 采用网上流传的ceclipse.org的组件
* 通用的表格打印组件,目前提供两个方法分别用于打印表格(Grid,Table)
* 我封装了两个方法,一个方法处理SWT提供的Table的打印,另一个处理SWT-星云(Nebula)-Gird的打印,
* 基本上满足我的需要了。贡献出了一个SWT表格打印的项目,可以做到不同表格的直接打印,而且还有跨行跨列的实现.
* Jar下载:
* http://www.blogjava.net/Files/leeguannan/org.ceclipse.printer_1.0.rar
*
* @author longgangbai
*
*/
public class PrintTools {
/**
* 对SWT Table进行打印的操纵
* @param table SWT Table 的对象
* @param title 表头文字描述
*/
public static void printTable(Table table, String title) {
IReportPage page = ReportUtil.convert(table, title);
Report report = new Report();
report.addPage(page);
printToPrinter(report);
}
/**
* 对SWT Gird进行打印的操纵
* @param gird SWT Gird 的对象
* @param title 表头文字描述
*/
public static void printGird(Grid grid, String title) {
IReportPage page = ReportUtil.convert(grid, title);
Report report = new Report();
report.addPage(page);
printToPrinter(report);
printToPrinter(report);
}
/**
* 处理打印以及调用Printer
*@param report
*/
private static void printToPrinter(IReport report) {
ReportData reportData = report.getReportData();
reportData.setJobName("printContent");
reportData.setPrinter(new Printer(new PrintDialog(PlatformUI
.getWorkbench().getActiveWorkbenchWindow().getShell()).open()));
report.print();
}
}
局限性:这个功能在打印的table或者Grid使用滚动条,但滚动条没有出现时打印正常。如果数据过多在表格中不能完全显示那么就不能满足了,最终采用报表工具实现打印报表功能。
相关推荐
Eclipse RCP(Rich Client Platform)是Eclipse框架下的一个应用程序开发平台,它提供了一种构建桌面应用的方式,尤其适合开发复杂的、具有丰富用户界面的软件。"Check Table"在这里通常指的是带有复选框的表格视图...
假设你已经拥有一个包含表格数据的`Grid`或`Table`控件,只需要简单地调用`PrintContent.printGird(grid, "报表名称")`或`PrintContent.printTable(table, "报表名称")`即可完成打印。 #### 总结 通过上述介绍可以...
通常,这样的入门教程会涵盖如何设置开发环境,创建一个新的RCP项目,理解RCP的基本架构,以及如何编写和运行一个简单的RCP应用。 【标签】"源码"和"工具"表明了这篇内容可能包含了实际的代码示例以及可能使用的...
**RCP(Rich Client Platform)** 是Eclipse项目的一个核心组成部分,它提供了一个框架,用于构建功能丰富的桌面应用程序。RCP允许开发者利用Java语言和Eclipse插件体系结构来创建可扩展、模块化的应用程序,这些...
以前做swt项目的资料,希望多刚接触rcp的朋友有所帮助
《基于Eclipse RCP Email客户端的实现》这篇本科毕业设计论文详细探讨了如何利用Java语言,结合Eclipse插件开发技术、RCP(Rich Client Platform)、EMF(Eclipse Modeling Framework)以及Java Mail工具包来构建一个...
通过以上步骤,你可以在Eclipse RCP应用中成功实现一个基于适配器模式的自定义属性视图。这不仅可以提高代码的复用性,还能使你的应用程序更加灵活,适应不断变化的需求。在实际开发中,你可能还需要处理如错误处理...
通过上述步骤,我们可以创建一个功能完善的RCP应用,它能够实时显示和操作数据库中的数据。在实际开发中,还需要考虑其他因素,如用户界面设计、安全性、并发控制等,以提供更好的用户体验和数据保护。记住,每个...
每个功能或组件都可以作为一个独立的插件实现,这样可以提高代码的重用性和可扩展性。 3. **模型-视图-控制器(MVC)**:在CRM系统中,数据模型通常包含客户信息、订单、联系历史等。视图负责展示这些数据,而控制...
**RCP(Rich Client Platform)**是Eclipse框架下的一个重要组成部分,它提供了一种构建桌面应用程序的平台。RCP允许开发者利用Eclipse的强大功能来创建功能丰富的、自定义的、独立的应用程序,而不局限于Eclipse...
同时,Eclipse RCP提供了一套强大的事件机制,使得VIEWER和EDITOR之间的通信变得简单,例如,当用户在VIEWER中选择了一个项时,可以触发一个事件,使得相关的EDITOR更新其内容以反映所选项的详细信息。 总的来说,...
资源中的“Eclipse RCP 打印表格.doc”可能是详细的文档说明,涵盖了以上提到的概念和步骤,而“org.ceclipse.printer_1.0.rar”可能是一个插件或者库,提供了现成的表格打印解决方案,简化了开发过程。 通过学习和...
1. **插件化架构**:RCP的核心是插件(Plugin)系统,每个功能模块都可以作为一个独立的插件存在,便于模块化开发和维护。 2. **可扩展性**:通过添加或移除插件,可以轻松地增加或减少应用功能,满足不同用户需求。...
**RCP(Rich Client Platform)** 是Eclipse项目的一个核心组成部分,它提供了一个框架,用于构建功能丰富的桌面应用程序。RCP允许开发者利用Eclipse的强大功能,如插件系统、工作台管理、视图和编辑器,来快速开发...
rcpmail是基于Eclipse RCP构建的一个邮件管理客户端,它展示了如何利用RCP框架开发出具有用户友好的界面和高效功能的应用程序。 首先,我们来理解Eclipse RCP的核心概念。RCP是Eclipse IDE的基础,它提供了构建可...
**RCP(Rich Client Platform)**是Eclipse框架下的一个重要组成部分,它提供了一种构建桌面应用程序的模型。RCP允许开发者利用Eclipse的强大功能来创建功能丰富的、可扩展的、跨平台的应用程序。本示例将带你入门...
在Eclipse RCP(Rich Client Platform)开发中,适配器(Adapter)机制是一个核心概念,它使得组件之间能够解耦合,实现灵活的交互。本文将深入探讨如何在RCP应用中通过适配器实现属性视图(Property View),以展示...
这个"rcp 学习资料下载,一个简单的rcp例子"是一个针对初学者的学习资源,旨在帮助他们快速理解和掌握RCP的开发技术。 在Eclipse RCP中,开发者可以利用工作台(Workbench)、视图(View)、编辑器(Editor)、透视...
标题中的“一个基于Nacos、Netty、Protobuf 实现的简单易懂的RCP框架”指的是一个使用了阿里巴巴的Nacos服务发现平台、高性能的网络库Netty以及高效的序列化协议Protobuf来构建的远程过程调用(RPC)框架。...
Eclipse Rich Client Platform (RCP) 是一个强大的框架,用于构建桌面应用程序,它基于Java,提供了丰富的用户界面和模块化架构。这个简单的Eclipse RCP源码示例旨在帮助初学者快速理解RCP应用的基本结构和工作原理...