Java Reference
In-Depth Information
printAll(g2D); // Draw the component
return PAGE _ EXISTS;
Now you should get the whole application window printed.
Summary
In this chapter you have added full support for the Fi le menu to the Sketcher application, for both
sketch storage and retrieval, and for printing. You should find that the techniques that you have used
here are readily applicable in other Java applications. The approach to saving and restoring a model
object is not usually dependent on the kind of data it contains. Of course, if your application is a word
processor, you will have a little more work to do taking care that the number of lines printed on each
page is a whole number of lines. In other words you will have to make sure you avoid having the top
half of a line of text on one page, and the bottom half on the next. There are other Java classes to help
with that, however, and we don't really have the space to discuss them here - but look them up - the
javax.swing.text package is a veritable gold mine for text handling!
If you have been following all the way with Sketcher, you now have an application that consists of well
over a thousand lines of code, so you should be pretty pleased with yourself.
The important points we have covered in this chapter are:
You can implement writing your model object to a file and reading it back by making it
serializable.
The JFileChooser class provides a generalized way for displaying a dialog to enable a file
to be chosen.
A printing operation is initiated by creating a PrinterJob object. This object encapsulates
the interface to your printer and is used to manage the printing process.
A PrintService object encapsulates a printer.
A PageFormat object defines the format for a page, and methods for this object can provide
information on the paper size and orientation and the printable area on the page.
An object of type Paper defines a page.
You can display a print dialog by calling the printDialog() method for a PrinterJob
object. The no argument version of printDialog() will display the native print dialog,
whereas the version accepting a single argument of type PrintRequestAttributeSet
displays a Java print dialog.
Printing a page is always done by an object of a class that implements the Printable interface.
You print a page by calling methods for the Graphics object passed to the print() method
in the Printable interface by the PrinterJob object.
You can manage multipage print jobs by implementing the Pageable interface in a class.
This will enable different types of class object to be used to print different pages.
A Book object can encapsulate a series of pages to be printed. Each Printable object that is
appended to a book prints one or more pages in a given format.
Search WWH ::




Custom Search