Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4333327

Linux: PrinterJob.print() throws java.lang.NullPointerException

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: 1.3.0
    • Fix Version/s: 1.3.0
    • Component/s: client-libs
    • Labels:
    • Subcomponent:
      2d
    • Resolved In Build:
      linux-rc1
    • CPU:
      x86
    • OS:
      linux
    • Verification:
      Verified

      Description



      Name: asR10013 Date: 04/26/2000



          The following code demonstrates unexpeted behavior of method
      PrinterJob.print(). As a result nothing is printed on the paper.

      --------------------- SimplePrint.java -------------------------------
      import java.awt.*;
      import java.awt.print.*;

      public class SimplePrint implements Printable {
        private static Font fnt = new Font("Helvetica",Font.PLAIN,24);
          
        public static void main(String[] args) {
          // Get a PrinterJob
          PrinterJob job = PrinterJob.getPrinterJob();
          // Specify the Printable is an instance of SimplePrint
          job.setPrintable(new SimplePrint());

          try { job.print(); }
          catch (Exception e) { /* handle exception */
      System.out.println(e+" "+e.getMessage());
      e.printStackTrace();
          }
          System.exit(0);
        }

        public int print(Graphics g, PageFormat pf, int pageIndex) throws PrinterException {
          if (pageIndex >= 2) return Printable.NO_SUCH_PAGE;
          g.setFont(fnt);
          g.setColor(Color.green);
          g.drawString("Page " + (pageIndex+1), 100, 100);
          return Printable.PAGE_EXISTS;
        }
      }
      -------------------------- output ------------------------------------
      $ java -version
      java version "1.3.0beta"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0beta-b01)
      Classic VM (build 1.3.0beta-b01, green threads, nojit)
      $ java SimplePrint
      java.lang.NullPointerException null
      java.lang.NullPointerException
              at java.lang.Runtime.exec(Runtime.java:536)
              at java.lang.Runtime.exec(Runtime.java:477)
              at java.lang.Runtime.exec(Runtime.java:443)
              at sun.awt.motif.PSPrinterJob$PrinterSpooler.run(PSPrinterJob.java:673)
              at java.security.AccessController.doPrivileged(Native Method)
              at sun.awt.motif.PSPrinterJob.endDoc(PSPrinterJob.java:718)
              at sun.java2d.RasterPrinterJob.print(RasterPrinterJob.java:355)
              at SimplePrint.main(SimplePrint.java:26)
      ----------------------------------------------------------------------
          
          The same code works fine under Solaris java version "1.3.0rc3" and
      under Linux java version "1.2.2"

      ======================================================================

      ======================================================================

        Attachments

          Activity

            People

            • Assignee:
              prr Philip Race
              Reporter:
              alssunw Als Als (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:
                Imported:
                Indexed: