如何在打印机上打印JFace TreeViewer

问题描述

| 我正在Eclipse中开发一个插件,该插件以scrolledComposite显示结果。该组合包含一个JFace TreeViewer。我想将此TreeViewer打印到打印机。我发现导入org.eclipse.swt.printing.Printer;打印到打印机。 但是当我使用以下代码片段打印时 GC gc =新的GC(打印机); 控制abc [] = Composite.getChildren(); abc [0] .print(gc); 我要打印的树包含工作区,项目浏览器。 打印输出显示图标。它没有显示类,方法名称。 我无法发布屏幕截图,直到我的声誉达到10以上。 如果我不清楚,请告诉我。 提前致谢 拉梅什·埃曼迪     

解决方法

        
        Tree myWidget = treeViewer.getTree();
    Point size = myWidget.getSize();
    Image image = new Image(display,size.x,size.y);
    GC gc = new GC(myWidget);
    gc.copyArea(image,0);
    gc.dispose();

    // Get the ImageData and create a new printer Image from it
    ImageData imageData = image.getImageData();
    Image printImage = new Image(printer,imageData);

http://www.eclipse.org/swt/faq.php#noprintimage
    

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...