| 
 | Java™ Platform Standard Ed. 6 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface Printable
The Printable interface is implemented 
 by the print methods of the current
 page painter, which is called by the printing
 system to render a page.  When building a 
 Pageable, pairs of PageFormat
 instances and instances that implement
 this interface are used to describe each page. The 
 instance implementing Printable is called to 
 print the page's graphics.
 
 A Printable(..) may be set on a PrinterJob.
 When the client subsequently initiates printing by calling
 PrinterJob.print(..) control
 
 is 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 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 Printable 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.
  
 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.
  
 Printable is obtained from a client-supplied
 Pageable then the client may provide different PageFormats
 for each page index. Calculations of page breaks must account for this.
 
Pageable, 
PageFormat, 
PrinterJob| Field Summary | |
|---|---|
| static int | NO_SUCH_PAGEReturned from printto signify that thepageIndexis too large and that the requested page
 does not exist. | 
| static int | PAGE_EXISTSReturned from print(Graphics, PageFormat, int)to signify that the requested page was rendered. | 
| Method Summary | |
|---|---|
|  int | print(Graphics graphics,
      PageFormat pageFormat,
      int pageIndex)Prints the page at the specified index into the specified Graphicscontext in the specified
 format. | 
| Field Detail | 
|---|
static final int PAGE_EXISTS
print(Graphics, PageFormat, int) 
 to signify that the requested page was rendered.
static final int NO_SUCH_PAGE
print to signify that the
 pageIndex is too large and that the requested page
 does not exist.
| Method Detail | 
|---|
int print(Graphics graphics,
          PageFormat pageFormat,
          int pageIndex)
          throws PrinterException
Graphics context in the specified
 format.  A PrinterJob calls the 
 Printable interface 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 Graphics class or subclass implements the
 PrinterGraphics interface to provide additional
 information.  If the Printable object
 aborts the print job then it throws a PrinterException.
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
pageIndex specifies a
               non-existent page.
PrinterException - thrown when the print job is terminated.| 
 | Java™ Platform Standard Ed. 6 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.