Ausdrucken ist imo sehr schwer. Zumindest wenn das Gedruckte exakt mit einer Seite übereinstimmt soll.
Entweder du benutzt den PrintJob, den du über den Toolkit bekommen kannst oder verwendest einen PrinterJob, den du über die klasseneigene statische Factorymethode bekommst.