<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    大夢(mèng)想家

    5年開(kāi)發(fā)工程師,2年實(shí)施經(jīng)理,X年售前顧問(wèn),......
    數(shù)據(jù)加載中……
    EclipseRCP打印表格
    ??? 做過(guò)RCP項(xiàng)目的朋友應(yīng)該都遇到過(guò)打印的問(wèn)題,在C/S構(gòu)架中打印應(yīng)該是最麻煩的事情。SWT提供的打印功能很簡(jiǎn)單,特別是在做表格打印的時(shí)候,需要大家使用GC自己繪出來(lái),才能打印,對(duì)于初級(jí)的開(kāi)發(fā)人員和人力不足的公司來(lái)說(shuō)是非常麻煩的事情。
    ?? 還好ceclipse.org的老大yipsilon zheng貢獻(xiàn)出了一個(gè)SWT表格打印的項(xiàng)目,可以做到不同表格的直接打印,而且還有跨行跨列的實(shí)現(xiàn),我改造了一下(把項(xiàng)目做了個(gè)轉(zhuǎn)碼utf-8==》GBK),然后打成JAR包放上來(lái)給大家使用。
    ?1package?com.glnpu.dmp.client.platform.core.internal.util;
    ?2
    ?3import?org.ceclipse.reporting.IReport;
    ?4import?org.ceclipse.reporting.IReportPage;
    ?5import?org.ceclipse.reporting.Report;
    ?6import?org.ceclipse.reporting.ReportData;
    ?7import?org.ceclipse.reporting.ReportUtil;
    ?8import?org.eclipse.nebula.widgets.grid.Grid;
    ?9import?org.eclipse.swt.printing.PrintDialog;
    10import?org.eclipse.swt.printing.Printer;
    11import?org.eclipse.swt.widgets.Table;
    12import?org.eclipse.ui.PlatformUI;
    13
    14/**
    15?*?通用表格打印組件,目前提供兩個(gè)方法分別用于打印表格(Gird,Table);
    16?*?工作任務(wù)名:printContent
    17?*?@author?lign
    18?*
    19?*/

    20public?class?PrintContent?{
    21
    22????/**
    23?????*?對(duì)Gird進(jìn)行打印操作
    24?????*?@param?grid?SWT?的nebula項(xiàng)目的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?????*?對(duì)Table進(jìn)行打印操作
    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?????*?處理打印以及調(diào)用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
    我封裝了兩個(gè)方法,一個(gè)方法處理SWT提供的Table的打印,另一個(gè)處理SWT-星云(Nebula)-Gird的打印,基本上滿足我的需要了。
    Jar下載:
    http://m.tkk7.com/Files/leeguannan/org.ceclipse.printer_1.0.rar

    客戶虐我千百遍,我待客戶如初戀!

    posted on 2007-07-20 16:21 阿南 閱讀(3094) 評(píng)論(7)  編輯  收藏 所屬分類: Eclipse-RCP西安java用戶群

    評(píng)論

    # re: EclipseRCP打印表格 2007-07-24 10:04 阿源

    請(qǐng)問(wèn)有沒(méi)有附帶源碼呢? 我想預(yù)覽一下,調(diào)用report.preview();出錯(cuò)的。

    # re: EclipseRCP打印表格 2007-10-01 12:09 李世虎

    我的信息表格

    # re: EclipseRCP打印表格 2008-01-23 21:34 winner

    org.eclipse.nebula.widgets.grid.Grid;這個(gè)JAR哪兒下載呀,程序老報(bào)錯(cuò)。源碼傳上來(lái)看看呀

    # re: EclipseRCP打印表格 2008-05-28 09:32 求助

    我想用utf-8的老大能給我個(gè)嗎

    luiguangshui@163.com

    # re: EclipseRCP打印表格 2008-07-07 17:50 huangdan

    IReportPage page = ReportUtil.convert(grid, title);
    convert(grid, title)這個(gè)方法出錯(cuò)了,怎么改?
    怎么樣使用這個(gè)類來(lái)進(jìn)行打印呀?
    謝謝!!!

    # re: EclipseRCP打印表格 2008-07-21 23:49 何敏··

    謝謝大家把你們的資源共享。
    hemin108@126.com

    # re: EclipseRCP打印表格 2010-10-11 16:36 zmh

    博主你好,我在調(diào)用打印表格的方法時(shí)出現(xiàn)如下錯(cuò)誤: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)

    能幫忙解決一下嗎,希望能將解決方法發(fā)到小弟的郵箱:lqmh18@163.com
    在此先謝過(guò)了
    主站蜘蛛池模板: 亚欧免费视频一区二区三区| 羞羞视频免费网站入口| 亚洲AV无码乱码国产麻豆| 国产成人高清亚洲| 亚洲日本在线观看视频| 免费午夜爽爽爽WWW视频十八禁| 国内一级一级毛片a免费| 午夜a级成人免费毛片| 浮力影院第一页小视频国产在线观看免费| 黄瓜视频影院在线观看免费| 日韩在线免费视频| 女人与禽交视频免费看| 特级淫片国产免费高清视频| 四虎永久免费网站免费观看| 亚洲国产精品自在拍在线播放| 亚洲精品天堂成人片?V在线播放| 亚洲国产人成中文幕一级二级| 亚洲精品色婷婷在线影院| 亚洲国产一成人久久精品| 久久亚洲精品中文字幕无码| 亚洲产国偷V产偷V自拍色戒| 亚洲一区影音先锋色资源| 亚洲三级在线播放| 亚洲精品GV天堂无码男同| 国产亚洲人成在线影院| 精品国产污污免费网站入口| 免费无码又爽又刺激一高潮| 无码精品国产一区二区三区免费| 18pao国产成视频永久免费| 九九九精品成人免费视频| 国产在线19禁免费观看| 久久亚洲国产精品123区| 亚洲精品免费视频| 亚洲香蕉久久一区二区三区四区| 亚洲第一成年免费网站| 伊人久久国产免费观看视频| 国内精品免费视频精选在线观看| 蜜臀AV免费一区二区三区| 日本大片在线看黄a∨免费| 老司机亚洲精品影视www| 久久久久亚洲AV片无码下载蜜桃|