The abstract java.awt.PrintJob class has a single
public noargs constructor, PrintJob(). However because
it's an abstract class you can't instantiate it. Instead you must
call the getPrintJob() method in the
java.awt.Toolkit class.
public abstract PrintJob getPrintJob(Frame parent, String title,
Properties props)
The Frame will hold the platform specific print
dialog. The title string identifies this job in the
print queue and on the cover page. The props arguments
is a java.awt.Properties object You can use to request
different printing options on Unix. However this doesn't work on
Windows, and in any case printing options are platform specific.

A PrintJob dialog
For example:
PrintJob pj =
Toolkit.getDefaultToolkit().getPrintJob(new Frame(),
"Hello World", null);
This returns a platform specific subclass of the
PrintJob class. If the user cancels the
PrintJob in the
dialog box, then this method should return null. (This
may be a little buggy under Windows, though.)