Aquí hay un ejemplo para imprimir cualquier componente Swing.
Esto imprime el contenido de Component
llamado componenet_name
. Asegúrate de que esté visible para este método.
public void printComponenet(){
PrinterJob pj = PrinterJob.getPrinterJob();
pj.setJobName(" Print Component ");
pj.setPrintable (new Printable() {
public int print(Graphics pg, PageFormat pf, int pageNum){
if (pageNum > 0){
return Printable.NO_SUCH_PAGE;
}
Graphics2D g2 = (Graphics2D) pg;
g2.translate(pf.getImageableX(), pf.getImageableY());
componenet_name.paint(g2);
return Printable.PAGE_EXISTS;
}
});
if (pj.printDialog() == false)
return;
try {
pj.print();
} catch (PrinterException ex) {
// handle exception
}
}
¿cómo se puede escalar el componente en consecuencia en la página para que quepa? –
@Saher ¿alguna vez descubrió cómo hacer esto? Gracias –
¿podría agregar más explicaciones (texto)? ¿Se supone que uno deriva un JComponent y agrega este método o qué se debe hacer con esto? Gracias. –