org.colos.ejs.library.utils
Class HardcopyWriter

java.lang.Object
  extended by java.io.Writer
      extended by org.colos.ejs.library.utils.HardcopyWriter
All Implemented Interfaces:
java.io.Closeable, java.io.Flushable, java.lang.Appendable

public class HardcopyWriter
extends java.io.Writer

A character output stream that sends output to a printer.


Nested Class Summary
static class HardcopyWriter.PrintCanceledException
          This is the exception class that the HardcopyWriter constructor throws when the user clicks "Cancel" in the print dialog box.
 
Constructor Summary
HardcopyWriter(java.awt.Frame frame, java.lang.String jobname, int fontsize, double leftmargin, double rightmargin, double topmargin, double bottommargin)
          The constructor for this class has a bunch of arguments: The frame argument is required for all printing in Java.
 
Method Summary
 void close()
          This is the close() method that all Writer subclasses must implement.
 void flush()
          This is the flush() method that all Writer subclasses must implement.
 int getCharactersPerLine()
          Return the number of columns of characters that fit on the page
 int getLinesPerPage()
          Return the number of lines that fit on a page
 void pageBreak()
          End the current page.
 void setFontStyle(int style)
          Set the font style.
 void write(char[] buffer, int index, int len)
          This is the write() method of the stream.
 
Methods inherited from class java.io.Writer
append, append, append, write, write, write, write
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HardcopyWriter

public HardcopyWriter(java.awt.Frame frame,
                      java.lang.String jobname,
                      int fontsize,
                      double leftmargin,
                      double rightmargin,
                      double topmargin,
                      double bottommargin)
               throws HardcopyWriter.PrintCanceledException
The constructor for this class has a bunch of arguments: The frame argument is required for all printing in Java. The jobname appears left justified at the top of each printed page. The font size is specified in points, as on-screen font sizes are. The margins are specified in inches (or fractions of inches).

Throws:
HardcopyWriter.PrintCanceledException
Method Detail

write

public void write(char[] buffer,
                  int index,
                  int len)
This is the write() method of the stream. All Writer subclasses implement this. All other versions of write() are variants of this one

Specified by:
write in class java.io.Writer

flush

public void flush()
This is the flush() method that all Writer subclasses must implement. There is no way to flush a PrintJob without prematurely printing the page, so we don't do anything.

Specified by:
flush in interface java.io.Flushable
Specified by:
flush in class java.io.Writer

close

public void close()
This is the close() method that all Writer subclasses must implement. Print the pending page (if any) and terminate the PrintJob.

Specified by:
close in interface java.io.Closeable
Specified by:
close in class java.io.Writer

setFontStyle

public void setFontStyle(int style)
Set the font style. The argument should be one of the font style constants defined by the java.awt.Font class. All subsequent output will be in that style. This method relies on all styles of the Monospaced font having the same metrics.


pageBreak

public void pageBreak()
End the current page. Subsequent output will be on a new page.


getCharactersPerLine

public int getCharactersPerLine()
Return the number of columns of characters that fit on the page


getLinesPerPage

public int getLinesPerPage()
Return the number of lines that fit on a page