You can allow the user to specify page
characteristics, such as the paper size and orientation, by displaying a Page
Setup dialog. The page information is stored in a PageFormat object. Like the
Print dialog, the Page Setup dialog is displayed by calling a method on the
PrinterJob object, pageDialog.
The Page Setup dialog is initialized by using the PageFormat passed to the
pageDialog method. If the user clicks the OK button in the dialog, the
PageFormat is cloned, altered to reflect the user's selections, and then
returned. If the user cancels the dialog, pageDialog returns the original,
unaltered PageFormat.
ShapesPrint could easily be modified to display a Page Setup dialog by adding a
call to pageDialog after you get the PrinterJob.
// Get a PrinterJob
PrinterJob job = PrinterJob.getPrinterJob();
// Ask user for page format (e.g., portrait/landscape)
PageFormat pf = job.pageDialog(job.defaultPage());