Ajuda com codigo de impressao em java

Olá pessoal…
peguei esse codigo de impressao na net e gostaria de implementar uma melhoria nele…

[code]import java.awt.;
import javax.swing.
;
import java.awt.print.*;

/** 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).
    */

public class PrintUtilities implements Printable {
private Component componentToBePrinted;

public static void printComponent(Component c) {
new PrintUtilities©.print();
}

public PrintUtilities(Component componentToBePrinted) {
this.componentToBePrinted = componentToBePrinted;
}

public void print() {
PrinterJob printJob = PrinterJob.getPrinterJob();
printJob.setPrintable(this);
if (printJob.printDialog())
try {
printJob.print();
} catch(PrinterException pe) {
System.out.println("Error printing: " + pe);
}
}

public int print(Graphics g, PageFormat pageFormat, int pageIndex) {
if (pageIndex > 0) {
return(NO_SUCH_PAGE);
} else {
Graphics2D g2d = (Graphics2D)g;
g2d.translate(pageFormat.getImageableX(), pageFormat.getImageableY());
disableDoubleBuffering(componentToBePrinted);
componentToBePrinted.paint(g2d);
enableDoubleBuffering(componentToBePrinted);
return(PAGE_EXISTS);
}
}

/** 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 enableDoubleBuffering
    */
    public static void disableDoubleBuffering(Component c) {
    RepaintManager currentManager = RepaintManager.currentManager©;
    currentManager.setDoubleBufferingEnabled(false);
    }

/** Re-enables double buffering globally. */

public static void enableDoubleBuffering(Component c) {
RepaintManager currentManager = RepaintManager.currentManager©;
currentManager.setDoubleBufferingEnabled(true);
}
}[/code]

ele imprime um componente… eu gostaria de saber como eu mudaria o tamanho desse componente na hora de imprimir…
obrigada

Jovem…se possível compra a Mundo java…

saiu um artigo muito bom sobre Java Print Service

http://www.mundojava.com.br/NovoSite/7destaque.shtml