# Class PrintUtilities

java.lang.Object
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 Printable

`NO_SUCH_PAGE, PAGE_EXISTS`

## Constructor Summary

Constructors
Constructor
Description
`PrintUtilities(Component componentToBePrinted)`
`PrintUtilities(Component componentToBePrinted, boolean scaled)`

## Method Summary

Modifier and Type
Method
Description
`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 Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### PrintUtilities

public PrintUtilities(Component componentToBePrinted)

### PrintUtilities

public PrintUtilities(Component componentToBePrinted, boolean scaled)

## Method Details

### 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.

### enableDoubleBuffering

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