Class 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 declared in interface java.awt.print.Pageable

UNKNOWN_NUMBER_OF_PAGES

Constructor Summary

Constructors
Constructor Description
Book()

Creates a new, empty Book.

Method Summary

All Methods Instance Methods Concrete Methods
Modifier and Type Method Description
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 declared in 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