如何将JFace TreeViewer打印到打印机上

时间:2011-05-28 08:08:29

标签: java printing treeview eclipse-plugin jface

我正在Eclipse中开发一个插件,它在scrolledComposite中显示结果。该组合包含一个JFace TreeViewer。我想将此TreeViewer打印到打印机。我找到了import org.eclipse.swt.printing.Printer;打印到打印机。

但是当我使用以下代码段进行打印时

GC gc= new GC(printer);
Control abc[] = Composite.getChildren();
abc[0].print(gc);

我要打印的树包含工作区,项目资源管理器。 打印输出仅显示图标。它没有显示类,方法的名称。

我无法发布截图,直到我的声誉高于10.检查它here

如果我不清楚,请告诉我。

提前致谢

Ramesh Emandi

1 个答案:

答案 0 :(得分:0)

        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, 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