Package mars.venus
Class HardcopyWriter
java.lang.Object
java.io.Writer
mars.venus.HardcopyWriter
- All Implemented Interfaces:
Closeable
,Flushable
,Appendable
,AutoCloseable
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 ClassesModifier and TypeClassDescriptionstatic class
This is the exception class that the HardcopyWriter constructor throws when the user clicks "Cancel" in the print dialog box. -
Constructor Summary
ConstructorsConstructorDescriptionHardcopyWriter(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 TypeMethodDescriptionvoid
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
Return the number of columns of characters that fit on the pageint
Return the number of lines that fit on a pagestatic void
A program that prints the specified file using HardcopyWritervoid
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.
-
Constructor Details
-
HardcopyWriter
public HardcopyWriter(Frame frame, String jobname, int fontsize, double leftmargin, double rightmargin, double topmargin, double bottommargin) throws HardcopyWriter.PrintCanceledExceptionThe 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).
-
-
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 -
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. -
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. -
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
A program that prints the specified file using HardcopyWriter
-