我需要在同一页面上打印JTextArea和JTable。

时间:2012-05-22 18:45:18

标签: java swing printing jtable jtextarea

我正在尝试在同一页面上打印jtable和jtextarea。到目前为止我试过这个

private void printButtonActionPerformed(java.awt.event.ActionEvent evt) {                                            
// TODO add your handling code here:


JTextArea detailArea = new JTextTable();        
JTable detailTable = new JTable();


    int page = 1;
    MessageFormat mf = new MessageFormat(detailArea.getText()));
    MessageFormat mf2 = new MessageFormat(Integer.toString(page));
page++;

try

    {
        detailTable.print(JTable.PrintMode.FIT_WIDTH,mf,mf2);
    }

    catch(PrinterException p)

    {
        JOptionPane.showMessageDialog(null,"Printer Exception");
    }    

}  

这是一个糟糕的解决方案,因为它将textarea的文本打印为粗体标题。我需要一种方法来在同一页面上打印带有文本的Jtable。

任何帮助?

谢谢。

1 个答案:

答案 0 :(得分:1)

文章How to Print Tables可能会为您提供有关如何构建sscce的一些建议。

  • 使用getPrintable()PrintableJTextArea获取JTable;在您自己的Printable实现中按顺序呈现每个。

  • 覆盖getPrintable()以使用JTextArea内容装饰您的表格,如TablePrintDemo3所示。

概述herejava.awt.print.Book可能是整理文档的有效方式。