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

java.lang.Object
  extended by java.awt.Component
      extended by edu.northwestern.at.utils.swing.printing.PrintableComponent
          extended by edu.northwestern.at.utils.swing.printing.PrintJTable
All Implemented Interfaces:
PrintProgress, java.awt.image.ImageObserver, java.awt.MenuContainer, java.awt.print.Pageable, java.awt.print.Printable, java.io.Serializable

public class PrintJTable
extends PrintableComponent

Prints a JTable.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class edu.northwestern.at.utils.swing.printing.PrintableComponent
PrintableComponent.PageState
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  javax.swing.table.JTableHeader tableHeader
          Table header.
protected  double tableHeaderSize
          Table header size.
protected  java.lang.String[] tableTitleLines
          Table title.
protected  double tableTitleSize
          Table title height.
 
Fields inherited from class edu.northwestern.at.utils.swing.printing.PrintableComponent
breakCheckPercentage, component, headerAndFooter, pageCount, pageFormat, pageImage, pageState, pageStateMap, printerJob, printerPageHeight, printerPageWidth, printProgress, printProgressAllowed, scaleFactor
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.print.Pageable
UNKNOWN_NUMBER_OF_PAGES
 
Fields inherited from interface java.awt.print.Printable
NO_SUCH_PAGE, PAGE_EXISTS
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
PrintJTable(javax.swing.JTable table)
          Create PrintJTable object.
PrintJTable(javax.swing.JTable table, java.awt.print.PageFormat pageFormat)
          Create PrintJTable object.
PrintJTable(javax.swing.JTable table, java.awt.print.PageFormat pageFormat, PrintHeaderFooter headerFooter)
          Create PrintJTable object.
 
Method Summary
 int getHeaderSize(java.awt.Graphics pg)
          Get header size needed.
protected  void getSizes(java.awt.Graphics pg)
          Get table title and header sizes.
 void printColumnHeaders(java.awt.Graphics2D pg2D)
          Print the column headers.
 void printColumnHeadersOld(java.awt.Graphics2D pg2D)
          Print the column headers.
 void printHeaderAndFooter(java.awt.Graphics2D pg2D)
          Print the header and footer.
 void printTableTitle(java.awt.Graphics2D pg2D)
          Print the table title.
protected  java.lang.String[] wrapTitleLine(java.lang.String title, java.awt.Graphics pg)
          Wrap title text.
 
Methods inherited from class edu.northwestern.at.utils.swing.printing.PrintableComponent
calculatePageCount, closeProgress, doPrintContents, getFooterSize, getNumberOfPages, getPageFormat, getPrintable, getSliceLength, print, printContents, printPage, setBreakCheckPercentage, setPageFormat, setPrinterJob, setProgress, updateProgress, validateLayout
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getAlignmentX, getAlignmentY, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paint, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, update, validate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

tableHeader

protected javax.swing.table.JTableHeader tableHeader
Table header.


tableHeaderSize

protected double tableHeaderSize
Table header size.


tableTitleLines

protected java.lang.String[] tableTitleLines
Table title. May be split into several lines.


tableTitleSize

protected double tableTitleSize
Table title height.

Constructor Detail

PrintJTable

public PrintJTable(javax.swing.JTable table,
                   java.awt.print.PageFormat pageFormat,
                   PrintHeaderFooter headerFooter)
Create PrintJTable object.

Parameters:
table - The table whose contents are to be printed.
pageFormat - The printer page format.
headerFooter - The header and footer for this page.

PrintJTable

public PrintJTable(javax.swing.JTable table,
                   java.awt.print.PageFormat pageFormat)
Create PrintJTable object.

Parameters:
table - The table whose contents are to be printed.
pageFormat - The printer page format.

No header, footer, or line numbers are printed.


PrintJTable

public PrintJTable(javax.swing.JTable table)
Create PrintJTable object.

Parameters:
table - The table whose contents are to be printed.

No header, footer, or line numbers are printed.

Method Detail

wrapTitleLine

protected java.lang.String[] wrapTitleLine(java.lang.String title,
                                           java.awt.Graphics pg)
Wrap title text.

Parameters:
title - The title text.
pg - The graphics context.
Returns:
String array of possibly word-wrapped title lines.

getSizes

protected void getSizes(java.awt.Graphics pg)
Get table title and header sizes.

Parameters:
pg - Graphics context for printing.

getHeaderSize

public int getHeaderSize(java.awt.Graphics pg)
Get header size needed.

Overrides:
getHeaderSize in class PrintableComponent
Parameters:
pg - The graphics context in which to print the header.
Returns:
Vertical size of header.

Normally the header size is just the size of the header, if any, plus an extra blank line (in the same font size as the header). For some components the header space may be larger. For example, for a JTable, the header space is increased by the amount of space required to print the table column headers.


printTableTitle

public void printTableTitle(java.awt.Graphics2D pg2D)
Print the table title.

Parameters:
pg2D - The graphics context into which to print the table title, if any.

printColumnHeaders

public void printColumnHeaders(java.awt.Graphics2D pg2D)
Print the column headers.

Parameters:
pg2D - The graphics context into which to print the column headers, if any.

printColumnHeadersOld

public void printColumnHeadersOld(java.awt.Graphics2D pg2D)
Print the column headers.

Parameters:
pg2D - The graphics context into which to print the column headers, if any.

printHeaderAndFooter

public void printHeaderAndFooter(java.awt.Graphics2D pg2D)
Print the header and footer.

Overrides:
printHeaderAndFooter in class PrintableComponent
Parameters:
pg2D - The graphics context into which to print the header and footer, if any.