Java™ Platform
Standard Ed. 6

java.awt.print
Class Book

java.lang.Object
  extended by java.awt.print.Book
All Implemented Interfaces:
Pageable

public class Book
extends Object
implements Pageable

The Book class provides a representation of a document in which pages may have different page formats and page painters. This class uses the Pageable interface to interact with a PrinterJob.

See Also:
Pageable, PrinterJob

Field Summary
 
Fields inherited from interface java.awt.print.Pageable
UNKNOWN_NUMBER_OF_PAGES
 
Constructor Summary
Book()
          Creates a new, empty Book.
 
Method Summary
 void append(Printable painter, PageFormat page)
          Appends a single page to the end of this Book.
 void append(Printable painter, PageFormat page, int numPages)
          Appends numPages pages to the end of this Book.
 int getNumberOfPages()
          Returns the number of pages in this Book.
 PageFormat getPageFormat(int pageIndex)
          Returns the PageFormat of the page specified by pageIndex.
 Printable getPrintable(int pageIndex)
          Returns the Printable instance responsible for rendering the page specified by pageIndex.
 void setPage(int pageIndex, Printable painter, PageFormat page)
          Sets the PageFormat and the Painter for a specified page number.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Book

public Book()
Creates a new, empty Book.

Method Detail

getNumberOfPages

public int getNumberOfPages()
Returns the number of pages in this Book.

Specified by:
getNumberOfPages in interface Pageable
Returns:
the number of pages this Book contains.

getPageFormat

public PageFormat getPageFormat(int pageIndex)
                         throws IndexOutOfBoundsException
Returns the PageFormat of the page specified by pageIndex.

Specified by:
getPageFormat in interface Pageable
Parameters:
pageIndex - the zero based index of the page whose PageFormat is being requested
Returns:
the PageFormat describing the size and orientation of the page.
Throws:
IndexOutOfBoundsException - if the Pageable does not contain the requested page

getPrintable

public Printable getPrintable(int pageIndex)
                       throws IndexOutOfBoundsException
Returns the Printable instance responsible for rendering the page specified by pageIndex.

Specified by:
getPrintable in interface Pageable
Parameters:
pageIndex - the zero based index of the page whose Printable is being requested
Returns:
the Printable that renders the page.
Throws:
IndexOutOfBoundsException - if the Pageable does not contain the requested page

setPage

public void setPage(int pageIndex,
                    Printable painter,
                    PageFormat page)
             throws IndexOutOfBoundsException
Sets the PageFormat and the Painter for a specified page number.

Parameters:
pageIndex - the zero based index of the page whose painter and format is altered
painter - the Printable instance that renders the page
page - the size and orientation of the page
Throws:
IndexOutOfBoundsException - if the specified page is not already in this Book
NullPointerException - if the painter or page argument is null

append

public void append(Printable painter,
                   PageFormat page)
Appends a single page to the end of this Book.

Parameters:
painter - the Printable instance that renders the page
page - the size and orientation of the page
Throws:
NullPointerException - If the painter or page argument is null

append

public void append(Printable painter,
                   PageFormat page,
                   int numPages)
Appends numPages pages to the end of this Book. Each of the pages is associated with page.

Parameters:
painter - the Printable instance that renders the page
page - the size and orientation of the page
numPages - the number of pages to be added to the this Book.
Throws:
NullPointerException - If the painter or page argument is null

Java™ Platform
Standard Ed. 6

Submit a bug or feature
For further API reference and developer documentation, see Java SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.