mars.venus
Class HardcopyWriter

java.lang.Object
  extended by java.io.Writer
      extended by mars.venus.HardcopyWriter
All Implemented Interfaces:
Closeable, Flushable, Appendable

public class HardcopyWriter
extends Writer


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.
 
Field Summary
protected  int charnum
           
protected  int chars_per_line
           
protected  int chars_per_tab
           
protected  int charwidth
           
protected  Font font
           
protected  int fontsize
           
protected  Font headerfont
           
protected  FontMetrics headermetrics
           
protected  int headery
           
protected  int height
           
protected  PrintJob job
           
protected  String jobname
           
protected  int lineascent
           
protected  int lineheight
           
protected  int linenum
           
protected  int lines_per_page
           
protected  FontMetrics metrics
           
protected  Graphics page
           
protected  int pagedpi
           
protected  int pagenum
           
protected  Dimension pagesize
           
protected static Properties printprops
           
protected  String time
           
protected  int width
           
protected  int x0
           
protected  int y0
           
 
Fields inherited from class java.io.Writer
lock
 
Constructor Summary
HardcopyWriter(Frame frame, 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
static void main(String[] args)
          A program that prints the specified file using HardcopyWriter
protected  void newline()
          This internal method begins a new line
protected  void newpage()
          This internal method begins a new page and prints the header.
 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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

job

protected PrintJob job

page

protected Graphics page

jobname

protected String jobname

fontsize

protected int fontsize

time

protected String time

pagesize

protected Dimension pagesize

pagedpi

protected int pagedpi

font

protected Font font

headerfont

protected Font headerfont

metrics

protected FontMetrics metrics

headermetrics

protected FontMetrics headermetrics

x0

protected int x0

y0

protected int y0

width

protected int width

height

protected int height

headery

protected int headery

charwidth

protected int charwidth

lineheight

protected int lineheight

lineascent

protected int lineascent

chars_per_line

protected int chars_per_line

lines_per_page

protected int lines_per_page

chars_per_tab

protected int chars_per_tab

charnum

protected int charnum

linenum

protected int linenum

pagenum

protected int pagenum

printprops

protected static Properties printprops
Constructor Detail

HardcopyWriter

public HardcopyWriter(Frame frame,
                      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 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 Flushable
Specified by:
flush in class 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 Closeable
Specified by:
close in class 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


newline

protected void newline()
This internal method begins a new line


newpage

protected void newpage()
This internal method begins a new page and prints the header.


main

public static void main(String[] args)
A program that prints the specified file using HardcopyWriter