org.virion.jam.util
Class PrintUtilities

java.lang.Object
  extended by org.virion.jam.util.PrintUtilities
All Implemented Interfaces:
Printable

public class PrintUtilities
extends Object
implements Printable

A simple utility class that lets you very simply print an arbitrary component. Just pass the component to the PrintUtilities.printComponent. The component you want to print doesn't need a print method and doesn't have to implement any interface or do anything special at all.

If you are going to be printing many times, it is marginally more efficient to first do the following:

 PrintUtilities printHelper = new PrintUtilities(theComponent);
 
then later do printHelper.print(). But this is a very tiny difference, so in most cases just do the simpler PrintUtilities.printComponent(componentToBePrinted).

7/99 Marty Hall, http://www.apl.jhu.edu/~hall/java/ May be freely used or adapted.


Field Summary
 
Fields inherited from interface java.awt.print.Printable
NO_SUCH_PAGE, PAGE_EXISTS
 
Constructor Summary
PrintUtilities(Component componentToBePrinted)
           
PrintUtilities(Component componentToBePrinted, boolean scaled)
           
 
Method Summary
static void disableDoubleBuffering(Component c)
          The speed and quality of printing suffers dramatically if any of the containers have double buffering turned on.
static void enableDoubleBuffering(Component c)
          Re-enables double buffering globally.
 void print()
           
 int print(Graphics g, PageFormat pageFormat, int pageIndex)
           
static void printComponent(Component c)
           
static void printComponentScaled(Component c)
           
static int printScaled(Component componentToBePrinted, Graphics g, PageFormat pageFormat, int pageIndex)
           
 int printScaled(Graphics g, PageFormat pageFormat, int pageIndex)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PrintUtilities

public PrintUtilities(Component componentToBePrinted)

PrintUtilities

public PrintUtilities(Component componentToBePrinted,
                      boolean scaled)
Method Detail

printComponent

public static void printComponent(Component c)

printComponentScaled

public static void printComponentScaled(Component c)

print

public void print()

print

public int print(Graphics g,
                 PageFormat pageFormat,
                 int pageIndex)
Specified by:
print in interface Printable

printScaled

public int printScaled(Graphics g,
                       PageFormat pageFormat,
                       int pageIndex)

printScaled

public static int printScaled(Component componentToBePrinted,
                              Graphics g,
                              PageFormat pageFormat,
                              int pageIndex)

disableDoubleBuffering

public static void disableDoubleBuffering(Component c)
The speed and quality of printing suffers dramatically if any of the containers have double buffering turned on. So this turns if off globally.

See Also:
enableDoubleBuffering

enableDoubleBuffering

public static void enableDoubleBuffering(Component c)
Re-enables double buffering globally.