java - SWT - PrintDialog 打印表/表查看器的内容

标签 java printing swt

我有一个对话框,该对话框内有一个表格查看器,用于显示用户操作的结果。我创建了一个带有打印按钮的方法。打印代码包括我从示例中找到的示例代码。

final Text t = new Text(composite, SWT.BORDER | SWT.MULTI);
   Button localPrintersButton = new Button(composite, SWT.PUSH);
   localPrintersButton.setText("Print Results");
   localPrintersButton.addSelectionListener(new SelectionAdapter() {
       public void widgetSelected(SelectionEvent e) {
          PrintDialog printDialog = new PrintDialog(Display.getCurrent().getActiveShell(), SWT.NONE);
          printDialog.setText("Print");
          PrinterData printerData = printDialog.open( );
          if(!(printerData==null))
          {
              Printer p = new Printer(printerData);
              p.startJob("PrintJob");    
              p.startPage( );
              Rectangle trim = p.computeTrim(0, 0, 0, 0);
              Point dpi = p.getDPI( );
              int leftMargin = dpi.x + trim.x; 
              int topMargin = dpi.y / 2 + trim.y; 
              GC gc = new GC(p);
              Font font = gc.getFont( ); 
              String printText= t.getText( );
              Point extent = gc.stringExtent(printText);
              gc.drawString(printText, leftMargin, topMargin + 
                      font.getFontData( )[0].getHeight( ));
              p.endPage( );
              gc.dispose( );
              p.endJob( );
              p.dispose( );
          }
       }
   }); 

当我的对话框打开时,打印按钮旁边有一个文本框。我可以在文本框中输入一些内容,选择打印按钮并选择我的本地打印机,然后它会打印文本框的内容。

我想弄清楚如何打印表格而不是文本框 这可能吗?

最佳答案

我认为您正在寻找

Control.class
public boolean print (GC gc)

关于java - SWT - PrintDialog 打印表/表查看器的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13180148/

相关文章:

java - SWTChart 鼠标事件处理

java - 将音频文件切成几段(java)

java - Spring Integration xsl-来自数据库的资源

javascript - 使用 print.css 样式表删除打印时出现的元素

javascript - 打印时是否可以在代码中反转网页的颜色?

java - 模态对话框位于 Opensuse 上其他窗口的背面

java - 享元设计模式

java - 为什么 Maven enforcer 会限制为 Java 1.6?

c++ - 无法在 C++ 中使用 cout 函数

java - SWT 文本图标搜索选项