-
public interface Printable
ThePrintable
interface is implemented by theprint
methods of the current page painter, which is called by the printing system to render a page. When building aPageable
, pairs ofPageFormat
instances and instances that implement this interface are used to describe each page. The instance implementingPrintable
is called to print the page's graphics.A
Printable(..)
may be set on aPrinterJob
. When the client subsequently initiates printing by callingPrinterJob.print(..)
controlis handed to the printing system until all pages have been printed. It does this by calling
Printable.print(..)
until all pages in the document have been printed. In using thePrintable
interface the printing commits to image the contents of a page whenever requested by the printing system.The parameters to
Printable.print(..)
include aPageFormat
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:
- The printing system may request a page index more than once. On each occasion equal PageFormat parameters will be supplied.
- The printing system will call
Printable.print(..)
with page indexes which increase monotonically, although as noted above, thePrintable
should 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. - If multiple collated copies of a document are requested, and the printer cannot natively support this, then the document may be imaged multiple times. Printing will start each copy from the lowest print stream page index page.
- With the exception of re-imaging an entire document for multiple collated copies, the increasing page index order means that when page N is requested if a client needs to calculate page break position, it may safely discard any state related to pages < N, and make current that for page N. "State" usually is just the calculated position in the document that corresponds to the start of the page.
- When called by the printing system the
Printable
must 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. - When the
Printable
is obtained from a client-suppliedPageable
then the client may provide different PageFormats for each page index. Calculations of page breaks must account for this.
- See Also:
Pageable
,PageFormat
,PrinterJob
-
-
Field Summary
Fields Modifier and Type Field and Description static int
NO_SUCH_PAGE
Returned fromprint
to signify that thepageIndex
is too large and that the requested page does not exist.static int
PAGE_EXISTS
Returned fromprint(Graphics, PageFormat, int)
to signify that the requested page was rendered.
-
Method Summary
Methods Modifier and Type Method and Description int
print(Graphics graphics, PageFormat pageFormat, int pageIndex)
Prints the page at the specified index into the specifiedGraphics
context in the specified format.
-
-
-
Field Detail
-
PAGE_EXISTS
static final int PAGE_EXISTS
Returned fromprint(Graphics, PageFormat, int)
to signify that the requested page was rendered.- See Also:
- Constant Field Values
-
NO_SUCH_PAGE
static final int NO_SUCH_PAGE
Returned fromprint
to signify that thepageIndex
is too large and that the requested page does not exist.- See Also:
- Constant Field Values
-
-
Method Detail
-
print
int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException
Prints the page at the specified index into the specifiedGraphics
context in the specified format. APrinterJob
calls thePrintable
interface to request that a page be rendered into the context specified bygraphics
. The format of the page to be drawn is specified bypageFormat
. The zero based index of the requested page is specified bypageIndex
. If the requested page does not exist then this method returns NO_SUCH_PAGE; otherwise PAGE_EXISTS is returned. TheGraphics
class or subclass implements thePrinterGraphics
interface to provide additional information. If thePrintable
object aborts the print job then it throws aPrinterException
.- Parameters:
graphics
- the context into which the page is drawnpageFormat
- the size and orientation of the page being drawnpageIndex
- the zero based index of the page to be drawn- Returns:
- PAGE_EXISTS if the page is rendered successfully
or NO_SUCH_PAGE if
pageIndex
specifies a non-existent page. - Throws:
PrinterException
- thrown when the print job is terminated.
-
-
Nederlandse vertaling
U hebt gevraagd om deze site in het Nederlands te bezoeken. Voor nu wordt alleen de interface vertaald, maar nog niet alle inhoud.Als je me wilt helpen met vertalingen, is je bijdrage welkom. Het enige dat u hoeft te doen, is u op de site registreren en mij een bericht sturen waarin u wordt gevraagd om u toe te voegen aan de groep vertalers, zodat u de gewenste pagina's kunt vertalen. Een link onderaan elke vertaalde pagina geeft aan dat u de vertaler bent en heeft een link naar uw profiel.
Bij voorbaat dank.
Document heeft de 11/06/2005 gemaakt, de laatste keer de 04/03/2020 gewijzigd
Bron van het afgedrukte document:https://www.gaudry.be/nl/java-api-rf-java/awt/print/Printable.html
De infobrol is een persoonlijke site waarvan de inhoud uitsluitend mijn verantwoordelijkheid is. De tekst is beschikbaar onder CreativeCommons-licentie (BY-NC-SA). Meer info op de gebruiksvoorwaarden en de auteur.
Referenties
Deze verwijzingen en links verwijzen naar documenten die geraadpleegd zijn tijdens het schrijven van deze pagina, of die aanvullende informatie kunnen geven, maar de auteurs van deze bronnen kunnen niet verantwoordelijk worden gehouden voor de inhoud van deze pagina.
De auteur Deze site is als enige verantwoordelijk voor de manier waarop de verschillende concepten, en de vrijheden die met de referentiewerken worden genomen, hier worden gepresenteerd. Vergeet niet dat u meerdere broninformatie moet doorgeven om het risico op fouten te verkleinen.