edu.northwestern.at.utils.swing.printing
Class PrintHeaderFooter

java.lang.Object
  extended by edu.northwestern.at.utils.swing.printing.PrintHeaderFooter

public class PrintHeaderFooter
extends java.lang.Object

Specifies header and footer for printed output.

A printed page may have an optional header and/or footer. Optionally labeled page numbers may appear in the header, footer, or both.


Field Summary
protected  java.lang.String footer
          Footer text.
static int FOOTER
           
protected  java.awt.Font footerFont
          Footer font.
protected  java.lang.String header
          Header text.
static int HEADER
          Possible page number positions.
static int HEADERANDFOOTER
           
protected  java.awt.Font headerFont
          Header font.
protected  java.lang.String pageNumberLabel
          Page number label.
(package private)  int pageNumberLocation
          Page number position.
 
Constructor Summary
PrintHeaderFooter(java.lang.String header, java.lang.String footer, java.lang.String pageNumberLabel)
          Create PrintHeaderFooter.
 
Method Summary
 boolean doPageNumbersInFooter()
          See if we're to print page numbers in footer.
 boolean doPageNumbersInHeader()
          See if we're to print page numbers in header.
 boolean doPrintFooter()
          See if footer to be printed.
 boolean doPrintHeader()
          See if header to be printed.
 java.awt.Font getFooterFont()
          Get footer font.
 int getFooterFontSize()
          Get footer font size.
 int getFooterFontSize(java.awt.Graphics graphics)
          Get footer font size from specified graphics context.
 java.awt.Font getHeaderFont()
          Get header font.
 int getHeaderFontSize()
          Get header font size.
 int getHeaderFontSize(java.awt.Graphics graphics)
          Get header font size from specified graphics context.
 int getPageNumberLocation()
          Get page number location.
 void printHeaderAndFooter(java.awt.Graphics graphics, int pageNumber, int pageWidth, int pageBottom)
          Print header and footer into specified graphics context.
 void setFooterFont(java.awt.Font footerFont)
          Set footer font.
 void setHeaderFont(java.awt.Font headerFont)
          Set header font.
 void setPageNumberLocation(int pageNumberLocation)
          Set page number location.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

header

protected java.lang.String header
Header text.


footer

protected java.lang.String footer
Footer text.


pageNumberLabel

protected java.lang.String pageNumberLabel
Page number label.


HEADER

public static final int HEADER
Possible page number positions.

See Also:
Constant Field Values

FOOTER

public static final int FOOTER
See Also:
Constant Field Values

HEADERANDFOOTER

public static final int HEADERANDFOOTER
See Also:
Constant Field Values

pageNumberLocation

int pageNumberLocation
Page number position.


headerFont

protected java.awt.Font headerFont
Header font.


footerFont

protected java.awt.Font footerFont
Footer font.

Constructor Detail

PrintHeaderFooter

public PrintHeaderFooter(java.lang.String header,
                         java.lang.String footer,
                         java.lang.String pageNumberLabel)
Create PrintHeaderFooter.

Parameters:
header - Header text. Use null for none.
footer - Footer text. Use null for none.
pageNumberLabel - Label for page numbers (e.g., "Page "). Use null for no page numbers, empty string to print page numbers without a label.
Method Detail

doPageNumbersInHeader

public boolean doPageNumbersInHeader()
See if we're to print page numbers in header.

Returns:
True to print page numbers in header.

doPageNumbersInFooter

public boolean doPageNumbersInFooter()
See if we're to print page numbers in footer.

Returns:
True to print page numbers in footer.

getHeaderFont

public java.awt.Font getHeaderFont()
Get header font.

Returns:
Font used to print header.

setHeaderFont

public void setHeaderFont(java.awt.Font headerFont)
Set header font.

Parameters:
headerFont - Font used to print header.

getFooterFont

public java.awt.Font getFooterFont()
Get footer font.

Returns:
Font used to print footer.

setFooterFont

public void setFooterFont(java.awt.Font footerFont)
Set footer font.

Parameters:
footerFont - Font used to print footer.

getHeaderFontSize

public int getHeaderFontSize()
Get header font size.

Returns:
Font size of header font.

getHeaderFontSize

public int getHeaderFontSize(java.awt.Graphics graphics)
Get header font size from specified graphics context.

Returns:
Font size of header font in graphics context.

Note: sets header font as current font in graphics context.


getFooterFontSize

public int getFooterFontSize()
Get footer font size.

Returns:
Font size of footer font.

getFooterFontSize

public int getFooterFontSize(java.awt.Graphics graphics)
Get footer font size from specified graphics context.

Returns:
Font size of footer font in graphics context.

Note: sets footer font as current font in graphics context.


getPageNumberLocation

public int getPageNumberLocation()
Get page number location.

Returns:
Location to print page numbers. Either HEADER, FOOTER, or HEADERANDFOOTER.

setPageNumberLocation

public void setPageNumberLocation(int pageNumberLocation)
Set page number location.

Parameters:
pageNumberLocation - Location to print page numbers. Either HEADER, FOOTER, or HEADERANDFOOTER.

If the specified location is invalid, the current setting remains unchanged.


doPrintHeader

public boolean doPrintHeader()
See if header to be printed.

Returns:
True if header or header page numbers to be printed.

doPrintFooter

public boolean doPrintFooter()
See if footer to be printed.

Returns:
True if footer or footer page numbers to be printed.

printHeaderAndFooter

public void printHeaderAndFooter(java.awt.Graphics graphics,
                                 int pageNumber,
                                 int pageWidth,
                                 int pageBottom)
Print header and footer into specified graphics context.

Parameters:
graphics - Graphics context to print to.
pageNumber - The page number to print.
pageWidth - The printer page width.
pageBottom - Bottom page position used for document printing. Footer prints below this.