【问题标题】:How to print a JFace TreeViewer on to the printer如何在打印机上打印 JFace TreeViewer
【发布时间】:2026-02-02 21:40:01
【问题描述】:

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

但是当我使用以下 sn-p 打印时

GC gc=新的GC(打印机); 控制 abc[] = Composite.getChildren(); abc[0].print(gc);

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

在我的声望超过 10 之前我不能发布截图。检查它here

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

提前致谢

拉梅什·埃曼迪

【问题讨论】:

  • @AWAIS QARNI:感谢您编辑我的帖子。现在看起来好多了。我对*很陌生。会习惯的。再次感谢您
  • 欢迎老兄。是的,你学得很快……

标签: java printing treeview eclipse-plugin jface


【解决方案1】:
        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

【讨论】: