0
 MessageFormat header = new MessageFormat("MEHBOOB RCIE MILL  ");
           MessageFormat footer = new MessageFormat("TEST");
        try {
            jTableReport.print(JTable.PrintMode.FIT_WIDTH, header, footer);
        } catch (java.awt.print.PrinterException e) {
            System.err.format("Cannot print %s%n", e.getMessage());
        }

i have done this for print the data on printer when data is one page it work fine but when data increase means 3 or 5 page it print exception Exception in thread "AWT-EventQueue-0"

java.lang.ArrayIndexOutOfBoundsException: -1
    at sun.font.ExtendedTextSourceLabel.getJustificationInfos(ExtendedTextSourceLabel.java:988)
    at java.awt.font.TextLine.getJustifiedLine(TextLine.java:1358)
    at java.awt.font.TextLayout.getJustifiedLayout(TextLayout.java:817)
    at sun.swing.SwingUtilities2.drawString(SwingUtilities2.java:518)
    at sun.swing.SwingUtilities2.drawStringUnderlineCharAt(SwingUtilities2.java:612)
    at javax.swing.plaf.synth.SynthGraphicsUtils.paintText(SynthGraphicsUtils.java:340)
    at javax.swing.plaf.synth.SynthGraphicsUtils.paintText(SynthGraphicsUtils.java:319)`enter code here`
    at javax.swing.plaf.synth.SynthGraphicsUtils.paintText(SynthGraphicsUtils.java:410) 
Jean-François Fabre
  • 137,073
  • 23
  • 153
  • 219
  • I was able to print a long table (6 pages) using this `print()` API. Please post a [mcve]. – Prasad Karunagoda Mar 14 '19 at 12:43
  • tblPurchase.setFont(new Font("Sakkal Majalla",Font.BOLD,20)); when i use this line then exception accrue and if use tblPurchase.setFont(new Font("Arial",Font.BOLD,16)); then it work ok . feeling confused – Mazhar Pitafi Mar 14 '19 at 17:44

0 Answers0