大夢想家
5年開發工程師,2年實施經理,X年售前顧問,......
BlogJava
首頁
新隨筆
聯系
聚合
管理
數據加載中……
EclipseRCP打印表格
??? 做過RCP項目的朋友應該都遇到過打印的問題,在C/S構架中打印應該是最麻煩的事情。SWT提供的打印功能很簡單,特別是在做表格打印的時候,需要大家使用GC自己繪出來,才能打印,對于初級的開發人員和人力不足的公司來說是非常麻煩的事情。
?? 還好ceclipse.org的老大yipsilon zheng貢獻出了一個SWT表格打印的項目,可以做到不同表格的直接打印,而且還有跨行跨列的實現,我改造了一下(把項目做了個轉碼utf-8==》GBK),然后打成JAR包放上來給大家使用。
?1
package
?com.glnpu.dmp.client.platform.core.internal.util;
?2
?3
import
?org.ceclipse.reporting.IReport;
?4
import
?org.ceclipse.reporting.IReportPage;
?5
import
?org.ceclipse.reporting.Report;
?6
import
?org.ceclipse.reporting.ReportData;
?7
import
?org.ceclipse.reporting.ReportUtil;
?8
import
?org.eclipse.nebula.widgets.grid.Grid;
?9
import
?org.eclipse.swt.printing.PrintDialog;
10
import
?org.eclipse.swt.printing.Printer;
11
import
?org.eclipse.swt.widgets.Table;
12
import
?org.eclipse.ui.PlatformUI;
13
14
/**?*/
/**
15
?*?通用表格打印組件,目前提供兩個方法分別用于打印表格(Gird,Table);
16
?*?工作任務名:printContent
17
?*?
@author
?lign
18
?*
19
?
*/
20
public
?
class
?PrintContent?
{
21
22
????
/**?*/
/**
23
?????*?對Gird進行打印操作
24
?????*?
@param
?grid?SWT?的nebula項目的Grid
25
?????*?
@param
?title?表頭文字描述
26
?????
*/
27
????
public
?
static
?
void
?printGird(Grid?grid,?String?title)?
{
28
????????IReportPage?page?
=
?ReportUtil.convert(grid,?title);
29
????????Report?report?
=
?
new
?Report();
30
????????report.addPage(page);
31
????????printToPrinter(report);
32
????????
33
????}
34
????
35
????
/**?*/
/**
36
?????*?對Table進行打印操作
37
?????*?
@param
?table?SWT?的Table
38
?????*?
@param
?title?表頭文字描述
39
?????
*/
40
????
public
?
static
?
void
?printTable(Table?table,?String?title)?
{
41
????????IReportPage?page?
=
?ReportUtil.convert(table,?title);
42
????????Report?report?
=
?
new
?Report();
43
????????report.addPage(page);
44
????????printToPrinter(report);
45
????????
46
????}
47
????
48
????
/**?*/
/**
49
?????*?處理打印以及調用Printer
50
?????*?
@param
?report
51
?????
*/
52
????
private
?
static
?
void
?printToPrinter(IReport?report)?
{
53
?????????ReportData?reportData?
=
?report.getReportData();
54
?????????reportData.setJobName(
"
printContent
"
);
55
?????????reportData.setPrinter(
new
?Printer(
new
?PrintDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell()).open()));
56
?????????report.print();
57
????}
58
}
59
我封裝了兩個方法,一個方法處理SWT提供的Table的打印,另一個處理SWT-星云(Nebula)-Gird的打印,基本上滿足我的需要了。
Jar下載:
http://m.tkk7.com/Files/leeguannan/org.ceclipse.printer_1.0.rar
客戶虐我千百遍,我待客戶如初戀!
posted on 2007-07-20 16:21
阿南
閱讀(3094)
評論(7)
編輯
收藏
所屬分類:
Eclipse-RCP
、
西安java用戶群
評論
#
re: EclipseRCP打印表格 2007-07-24 10:04
阿源
請問有沒有附帶源碼呢? 我想預覽一下,調用report.preview();出錯的。
回復
更多評論
#
re: EclipseRCP打印表格 2007-10-01 12:09
李世虎
我的信息表格
回復
更多評論
#
re: EclipseRCP打印表格 2008-01-23 21:34
winner
org.eclipse.nebula.widgets.grid.Grid;這個JAR哪兒下載呀,程序老報錯。源碼傳上來看看呀
回復
更多評論
#
re: EclipseRCP打印表格 2008-05-28 09:32
求助
我想用utf-8的老大能給我個嗎
luiguangshui@163.com
回復
更多評論
#
re: EclipseRCP打印表格 2008-07-07 17:50
huangdan
IReportPage page = ReportUtil.convert(grid, title);
convert(grid, title)這個方法出錯了,怎么改?
怎么樣使用這個類來進行打印呀?
謝謝!!!
回復
更多評論
#
re: EclipseRCP打印表格 2008-07-21 23:49
何敏··
謝謝大家把你們的資源共享。
hemin108@126.com
回復
更多評論
#
re: EclipseRCP打印表格
2010-10-11 16:36
zmh
博主你好,我在調用打印表格的方法時出現如下錯誤:Exception in thread "main" java.lang.IllegalStateException: Workbench has not been created yet.
at org.eclipse.ui.PlatformUI.getWorkbench(PlatformUI.java:92)
at com.ytkj.kq.print.PrintContent.printToPrinter(PrintContent.java:55)
at com.ytkj.kq.print.PrintContent.printTable(PrintContent.java:44)
at com.ytkj.kq.PersonnelData.PersonnelChange$6.widgetSelected(PersonnelChange.java:404)
at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
at com.ytkj.kq.PersonnelData.PersonnelChange.open(PersonnelChange.java:139)
at com.ytkj.kq.Main$14.widgetSelected(Main.java:852)
at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
at com.ytkj.kq.Main.<init>(Main.java:278)
at com.ytkj.kq.Main.main(Main.java:243)
能幫忙解決一下嗎,希望能將解決方法發到小弟的郵箱:lqmh18@163.com
在此先謝過了
回復
更多評論
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關文章:
Wazaabi 2.0 讓我看到了自定義界面設計器的希望
如何使用代碼重啟RCP程序?
How to show taskbar icon when use splash?
Eclipse3.3-3.4MX多國語言項目放出
Eclipse4.0放出部分Demo
驚嘆吧!RAP!
打造仿淘寶注冊的Text(二)
再次尋求從事過Java桌面的應用的朋友解惑~
尋求從事過Java桌面的應用的朋友解惑~
一個使用SWT Ribbon代替Eclipse-RCP上面Coolbar的例子~
Powered by:
BlogJava
Copyright © 阿南
公告
5年開發工程師,2年實施經理,X年售前顧問,......
<
2007年7月
>
日
一
二
三
四
五
六
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
統計
隨筆 - 130
文章 - 5
評論 - 427
引用 - 0
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(23)
給我留言
查看公開留言
查看私人留言
我參與的團隊
西安java用戶群(0/0)
西安JAVA俱樂部(0/0)
隨筆分類
(188)
DB4O(1)
(rss)
Eclipse4
(rss)
Eclipse-RAP(4)
(rss)
Eclipse-RCP(50)
(rss)
Eclipse-SWT(11)
(rss)
Eclipse-WorkBench(1)
(rss)
EJB3(4)
(rss)
JavaScript(4)
(rss)
JDK5.0(2)
(rss)
Maven2(4)
(rss)
OSGI(1)
(rss)
Python成長之路
(rss)
個人原創(16)
(rss)
亂彈閑言(7)
(rss)
工作心得(16)
(rss)
工具網站(3)
(rss)
開源(8)
(rss)
沉思錄(3)
(rss)
西安java用戶群(45)
(rss)
讀書筆記(8)
(rss)
隨筆檔案
(123)
2013年1月 (2)
2010年6月 (1)
2009年7月 (3)
2009年6月 (1)
2009年4月 (1)
2009年3月 (3)
2009年2月 (1)
2008年7月 (1)
2008年4月 (5)
2008年3月 (10)
2008年2月 (5)
2008年1月 (7)
2007年12月 (7)
2007年11月 (4)
2007年10月 (5)
2007年9月 (4)
2007年8月 (9)
2007年7月 (19)
2007年6月 (17)
2007年5月 (18)
文章分類
(3)
Cool文存檔(3)
(rss)
文章檔案
(7)
2008年3月 (1)
2007年12月 (4)
2007年7月 (1)
2007年5月 (1)
Friends
http://www.richclient2.eu
三告習習
Java Link
DZone
(rss)
TTS
My Link
我的網盤
最新隨筆
1.?Could not instantiate class XXX from tuple at AliasToBeanConstructorResultTransformer 的處理辦法
2.?在企業內部部署Chrome的課前預習
3.?查詢Oracle的BLOB類型
4.?誰不知道構架?
5.?EJB3下無狀態會話Bean發布為WebService
6.?Wazaabi 2.0 讓我看到了自定義界面設計器的希望
7.?不怕錯,就怕不認錯
8.?Lock wait timeout exceeded; try restarting transaction
9.?如何使用代碼重啟RCP程序?
10.?How to show taskbar icon when use splash?
搜索
積分與排名
積分 - 261513
排名 - 217
最新評論
1.?re: 如何在ViewPart上添加ViewToolBar
請問toolbar中的按鈕,怎么才能弄到選項卡那一行上
--suren
2.?re: 西安java用戶群成立~_~
hui_zh996@163.com
這是我的聯系方式
QQ:2603651153
支持
--常一
3.?re: 初識DB4O
存在本地,其實就是本地一份文件!文件名沒有什么限制
--replica montblanc watches
4.?re: SWT---nebula_cdatetime_0.9.0中文版[未登錄]
得到
--你好
5.?re: SWT中使用JFreeChart(無需SWT_AWT)
@寒武紀
我的JFreeChart怎么沒有ChartComposite!! 求指點!!!
--cala
閱讀排行榜
1.?JAVA如何調用DOS命令(16266)
2.?為什么讀取.properties文件時出現“java.lang.IllegalArgumentException: Malformed \uxxxx encoding”(12119)
3.?利用JS獲取IE客戶端IP及MAC的實現(8387)
4.?JWS(Java Web Start)高級應用(5664)
5.?Eclipse3.3的新特性(5301)
評論排行榜
1.?需要加入XAUG的朋友請留言給我!(27)
2.?公司Eclipse-RCP培訓PPT教材(25)
3.?西安java用戶群成立~_~(18)
4.?Eclipse3.3的新特性(18)
5.?JAVA如何調用DOS命令(14)
主站蜘蛛池模板:
国产日产亚洲系列
|
大胆亚洲人体视频
|
亚洲综合在线成人一区
|
a毛看片免费观看视频
|
亚洲精品国自产拍在线观看
|
亚洲AV综合色区无码一二三区
|
好吊妞998视频免费观看在线
|
亚洲va精品中文字幕
|
扒开双腿猛进入爽爽免费视频
|
亚洲国产韩国一区二区
|
可以免费看黄的网站
|
日韩亚洲产在线观看
|
四虎成人免费影院网址
|
久久综合亚洲色hezyo
|
免费国产真实迷j在线观看
|
精品在线观看免费
|
综合久久久久久中文字幕亚洲国产国产综合一区首
|
曰批全过程免费视频播放网站
|
久久久久亚洲AV片无码下载蜜桃
|
亚洲国产区男人本色在线观看
|
中文字幕无码视频手机免费看
|
亚洲中文字幕无码久久精品1
|
三年片在线观看免费
|
久久久久亚洲精品无码蜜桃
|
免费毛片a在线观看67194
|
亚洲欧美黑人猛交群
|
亚洲国产天堂久久久久久
|
国产一区二区三区免费
|
亚洲福利电影在线观看
|
在线播放免费人成视频在线观看
|
国产亚洲视频在线观看
|
精品亚洲综合在线第一区
|
亚洲视频在线观看免费视频
|
亚洲精品av无码喷奶水糖心
|
亚洲综合AV在线在线播放
|
久久精品一本到99热免费
|
久久精品国产亚洲AV
|
亚洲成av人片在线观看无码不卡
|
日韩版码免费福利视频
|
一级做a爰片性色毛片免费网站
|
久久亚洲精品国产精品黑人
|