Printing: Java 2
You need to generate hardcopy, and you’re using Java 2.
Like its predecessor, the Java 2 printing API makes you divide the
data into pages. Again, you start by getting a
object to control your printing.
You’ll usually want to let the user pick a printer, which you
do by calling the
. This pops up a platform-specific
print chooser dialog, and if the user picks a printer, you get back a
PrinterJob object (otherwise, again, you get back
null). If you don’t call
and there is a default printer, your job will be sent to that printer
(if there isn’t a default printer, I don’t know what
happens). Unlike the 1.1 API, however, Java is in charge of what to
print and in what order, though your program is still responsible for
pagination and drawing each page onto a print buffer. You need to
provide an object that implements the
interface (see Section 8.8). In this example, we pass an anonymous inner
class (see Section 8.7); this is not required but as
usual makes the code more succinct by eliminating having to write
another class in another file and by keeping the action and the
result together. Java calls this object’s
method once for each page the user has requested. This is more efficient than the 1.1 method, since if the user wants to print only page 57, you only get called once to print that page (in 1.1, you’d have to generate ...