Imprimir JPanel/JFrame - Print JPanel/JFrame Java
Posted On lunes, 20 de julio de 2009 at en 15:43 by JaehooPara realizar las impresiones en Swing es necesario utilizar la interface Printable en el objeto que queremos imprimir.
implements Printable
Se debe sobreescribir el método print(), abajo le pasamos el comoponente que deseamos imprimir que en este caso es un JPanel (pero tambien podemos enviarle el comoponente que querramos :
public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException {
if (pageIndex > 0) { /* We have only one page, and 'page' is zero-based */
return NO_SUCH_PAGE;
}
Graphics2D g2d = (Graphics2D)graphics;
g2d.translate(pageFormat.getImageableX(), pageFormat.getImageableY());
jPanel1.printAll(graphics);
return PAGE_EXISTS;
}
Y por último mandar a ejecutar la impresión:
try {
PrinterJob job = PrinterJob.getPrinterJob();
job.setPrintable(this);
job.printDialog();
job.print();
} catch (PrinterException ex) {
Logger.getLogger(PrintMe.class.getName()).log(Level.SEVERE, null, ex);
}
![]() |
Ver demo:
Saludos =P

