home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2005 June / PCpro_2005_06.ISO / files / opensource / tvbrowser / TvBrowser_1.0.exe / plugins / PrintPlugin.jar / printplugin / Printer.class (.txt) < prev    next >
Encoding:
Java Class File  |  2004-09-19  |  1.8 KB  |  41 lines

  1. package printplugin;
  2.  
  3. import java.awt.Graphics;
  4. import java.awt.print.PageFormat;
  5. import java.awt.print.Printable;
  6. import java.awt.print.PrinterException;
  7. import java.util.ArrayList;
  8.  
  9. public class Printer implements Printable {
  10.    private Page[] mPages;
  11.  
  12.    public Printer(PageModel[] pageModelArr, PageRenderer pageRenderer) {
  13.       System.out.println("Printer.java: Creating pages for " + pageModelArr.length + " virtual pages");
  14.       ArrayList pages = new ArrayList();
  15.  
  16.       for(int i = 0; i < pageModelArr.length; ++i) {
  17.          Page[] p = pageRenderer.createPages(pageModelArr[i]);
  18.  
  19.          for(int j = 0; j < p.length; ++j) {
  20.             pages.add(p[j]);
  21.          }
  22.       }
  23.  
  24.       this.mPages = new Page[pages.size()];
  25.       pages.toArray(this.mPages);
  26.    }
  27.  
  28.    public int getNumberOfPages() {
  29.       return this.mPages.length;
  30.    }
  31.  
  32.    public int print(Graphics g, PageFormat pageFormat, int pageIndex) throws PrinterException {
  33.       if (pageIndex >= this.mPages.length) {
  34.          return 1;
  35.       } else {
  36.          this.mPages[pageIndex].printPage(g);
  37.          return 0;
  38.       }
  39.    }
  40. }
  41.