1

JTableを作成し、ヘッダーとフッターのあるページではなく長方形として表示することで、JTableを印刷する次のメソッドがあります。

public void printModules(){
    MessageFormat header = new MessageFormat("Modules " + new Date());
    MessageFormat footer = new MessageFormat("Created by Assignments Database");
    try {
        JTable jtModules = new JTable(new ModulesTableModel(Controller.getInstance().getModules()));
        jtModules.setShowHorizontalLines(true);
        jtModules.setShowVerticalLines(true);
        jtModules.setShowGrid(true);

        boolean complete = jtModules.print(JTable.PrintMode.NORMAL, header, footer, true, null, false, null);

        if(complete){
            System.out.println("Printed");
        } else{
            System.out.println("Printing Cancelled");
        }
    } catch (PrinterException e) {
        e.printStackTrace();
    }
}

他に何が間違っていますか?同じデータから作成されたデータがパネルの1つに表示されているため、テーブルにデータがあります。

私の抽象テーブルモデルでは、次のメソッドを実装しました。

  • コンストラクタ
  • getRowCount
  • getColumnCount
  • getValueAt
  • getColumnNames

作成する必要のある他のメソッドはありますか?

4

2 に答える 2

2

JTable印刷のサポートが大幅に減少しました。JTable(コード例を含む)印刷に関するチュートリアルに、印刷に関する説明がいくつかあります。

于 2012-04-10T15:53:03.960 に答える
2

印刷するにはテーブルを表示する必要があるため、テーブルをに追加してから、これJFrameで 印刷されます。frame.setVisible(true);frame.setVisible(false);

于 2012-04-10T16:32:05.357 に答える