![]() |
The Java Developers Almanac 1.4 |
|
e681. The Quintessential Printing ProgramNote that (0, 0) of theGraphics object is at the top-left of the
actual page, outside the printable area. In this example, the
Graphics object is translated so that (0, 0) becomes the top-left
corner of the printable area.
import java.awt.*;
import java.awt.print.*;
public class BasicPrint extends JComponent implements Printable {
public int print(Graphics g, PageFormat pf, int pageIndex) {
if (pageIndex > 0) {
return Printable.NO_SUCH_PAGE;
}
Graphics2D g2d = (Graphics2D)g;
g2d.translate(pf.getImageableX(), pf.getImageableY());
drawGraphics(g2d, pf);
return Printable.PAGE_EXISTS;
}
public static void main(String[] args) {
PrinterJob pjob = PrinterJob.getPrinterJob();
PageFormat pf = pjob.defaultPage();
pjob.setPrintable(new BasicPrint(), pf);
try {
pjob.print();
} catch (PrinterException e) {
}
}
}
e683. Setting the Orientation of a Printed Page e684. Printing Pages with Different Formats e685. Displaying the Page Format Dialog e686. Displaying the Print Dialog © 2002 Addison-Wesley. |