public interface Printable
Printableinterface is implemented by the
Pageable, pairs of
PageFormatinstances and instances that implement this interface are used to describe each page. The instance implementing
Printableis called to print the page's graphics.
Printable(..) may be set on a
When the client subsequently initiates printing by calling
is handed to the printing system until all pages have been printed.
It does this by calling
all pages in the document have been printed.
In using the
Printable interface the printing
commits to image the contents of a page whenever
requested by the printing system.
The parameters to
Printable.print(..) include a
PageFormat which describes the printable area of
the page, needed for calculating the contents that will fit the
page, and the page index, which specifies the zero-based print
stream index of the requested page.
For correct printing behaviour, the following points should be observed:
Printable.print(..)with page indexes which increase monotonically, although as noted above, the
Printableshould expect multiple calls for a page index and that page indexes may be skipped, when page ranges are specified by the client, or by a user through a print dialog.
Printablemust inspect and honour the supplied PageFormat parameter as well as the page index. The format of the page to be drawn is specified by the supplied PageFormat. The size, orientation and imageable area of the page is therefore already determined and rendering must be within this imageable area. This is key to correct printing behaviour, and it has the implication that the client has the responsibility of tracking what content belongs on the specified page.
Printableis obtained from a client-supplied
Pageablethen the client may provide different PageFormats for each page index. Calculations of page breaks must account for this.
|Modifier and Type||Field and Description|
static final int PAGE_EXISTS
print(Graphics, PageFormat, int)to signify that the requested page was rendered.
static final int NO_SUCH_PAGE
pageIndexis too large and that the requested page does not exist.
int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException
Graphicscontext in the specified format. A
Printableinterface to request that a page be rendered into the context specified by
graphics. The format of the page to be drawn is specified by
pageFormat. The zero based index of the requested page is specified by
pageIndex. If the requested page does not exist then this method returns NO_SUCH_PAGE; otherwise PAGE_EXISTS is returned. The
Graphicsclass or subclass implements the
PrinterGraphicsinterface to provide additional information. If the
Printableobject aborts the print job then it throws a
graphics- the context into which the page is drawn
pageFormat- the size and orientation of the page being drawn
pageIndex- the zero based index of the page to be drawn
pageIndexspecifies a non-existent page.
PrinterException- thrown when the print job is terminated.
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2021, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.