java - 在Java中从JTable创建pdf文件

标签 java swing pdf jtable jframe

我有一个带有 jtable、Button 和 Jlabel 的 jframe。我有一个问题当我单击按钮时,似乎保存到 pdf 仅填写表格,但没有列名称。 如果我还想将 jlabel 添加到 pdf 文件中怎么办?

这是脚本:

Private void print(){ 

Document document = new Document(PageSize.A4.rotate());

try {
  PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("D:/jTable.pdf"));

  document.open();
  PdfContentByte cb = writer.getDirectContent();

  cb.saveState();
  Graphics2D g2 = cb.createGraphicsShapes(500, 500);

  Shape oldClip = g2.getClip();
  g2.clipRect(0, 0, 500, 500);

  table_pdf.print(g2);
  g2.setClip(oldClip);

  g2.dispose();
  cb.restoreState();
} catch (Exception e) {
  System.err.println(e.getMessage());
}
document.close();}

这是截图 enter image description here

它是pdf文件 enter image description here

最佳答案

表格的列标题显示为添加表格的 JScrollPane 的列标题。尝试使用JScrollPane

的方法
public JViewport getColumnHeader()

并将其打印在表格上方

关于java - 在Java中从JTable创建pdf文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13410033/

相关文章:

java - JTable读取空值

Java - 使用按键操作检查多个 JTextField

jquery - 在 Internet Explorer 中通过内联 PDF 显示内容

使用bs4的Python html解析div数据

java - 获取背景按钮并将此颜色应用于另一种颜色

java - Java私有(private)声明

java - 在 map 调用中获取 Spark 上的行

java - 使用 Java 中的一组固定字母将 long 编码/解码为字符串

Java resultSet getInt() 无返回值

JSP 到 PDF 的转换