Package mars.venus

Class HardcopyWriter

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

public class HardcopyWriter extends Writer
HardcopyWriter class from the book "Java Examples in a Nutshell, 3rd Edition" by David Flanagan. Publisher is O'Reilly, ISBN is 0-596-00620-9. Published Jan 2004. Web page for the book is: http://www.oreilly.com/catalog/jenut3/ A character output stream that sends output to a printer. I made only a couple minor changes -- Pete Sanderson
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    This is the exception class that the HardcopyWriter constructor throws when the user clicks "Cancel" in the print dialog box.
  • Constructor Summary

    Constructors
    Constructor
    Description
    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

    Modifier and Type
    Method
    Description
    void
    This is the close( ) method that all Writer subclasses must implement.
    void
    This is the flush( ) method that all Writer subclasses must implement.
    int
    Return the number of columns of characters that fit on the page
    int
    Return the number of lines that fit on a page
    static void
    main​(String[] args)
    A program that prints the specified file using HardcopyWriter
    void
    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, nullWriter, write, write, write, write

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

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

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

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