0

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を印刷する方法が必要です。

何か助けはありますか?

ありがとうございました。

4

1 に答える 1

1

記事How to Print Tablesは、 sscceを構築する方法についていくつかのアイデアを提供するかもしれません。

  • との両方からgetPrintable()a を取得するために使用します。の独自の実装で、それぞれを順番にレンダリングします。PrintableJTextAreaJTablePrintable

  • に示すように、コンテンツgetPrintable()を使用してテーブルを装飾するためにオーバーライドします。JTextAreaTablePrintDemo3

ここjava.awt.print.Bookに概説されているは、ドキュメントを整理するのに便利な方法です。

于 2012-05-22T19:49:33.230 に答える