Module java.desktop

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
    • 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