Thursday, December 23, 2010

Java - How to print table with multi line header and footer

PrinterJob job = PrinterJob.getPrinterJob();
MessageFormat[] header = new MessageFormat[3];
header[0] = new MessageFormat("");
header[1] = new MessageFormat("line 1");
header[2] = new MessageFormat("line 2");

MessageFormat[] footer = new MessageFormat[2];
footer[0] = new MessageFormat("footer 1");
footer[1] = new MessageFormat("footer 2");
job.setPrintable(new MyTablePrintable(tblmunim, PrintMode.FIT_WIDTH, header, footer));

    if (job.printDialog())
      try {
        System.out.println("Calling PrintJob.print()");
        job.print();
        System.out.println("End PrintJob.print()");
      }
      catch (PrinterException pe) {
        System.out.println("Error printing: " + pe);
      }

Here is MyTablePrintable class  MyPrintable.java

3 comments:

  1. I get an error since it wont let me pass an array "header" to the table

    table.getPrintable(JTable.PrintMode.FIT_WIDTH, header, null);

    ReplyDelete
  2. Thank's for reply.
    Will reply soon

    ReplyDelete
  3. where is the code? MyTablePrintable

    ReplyDelete