tabla - mostrar datos en una jtable java netbeans
Agregar texto para imprimir antes y después de una JTable (1)
Una forma de hacerlo es append()
una serie de instancias Printable
adecuadas a java.awt.print.Book
, como se muestra aquí .
Adición: JTable
tiene un método getPrintable()
que debería simplificar las cosas; aquí hay un esquema y un título simple para Printable
:
PrinterJob pj = PrinterJob.getPrinterJob();
Book book = new Book();
book.append(new Title(), pj.defaultPage());
book.append(table.getPrintable(...), pj.defaultPage());
book.append(new EndPage(), pj.defaultPage());
pj.setPageable(book);
pj.print();
...
private static class Title implements Printable {
Font font = new Font("SansSerif", Font.PLAIN, 48);
@Override
public int print(Graphics g, PageFormat pf, int pageIndex)
throws PrinterException {
Graphics2D g2d = (Graphics2D) g;
g2d.translate(pf.getImageableX(), pf.getImageableY());
g2d.setFont(font);
g2d.setColor(Color.black);
g2d.drawString("Report", 50, 200);
return Printable.PAGE_EXISTS;
}
}
JTable
imprimir una JTable
y el método print()
funciona muy bien hasta que llego a este escenario. Digamos que quiero imprimir antes, en la primera página solamente (no encabezado) el texto "Informe" y al final el texto "Este es el final del informe". Una vez más, me gustaría aclarar que no necesito un encabezado o pie de página para que este texto aparezca en la parte superior de la primera y la última página cuando los imprimo.
¿Cómo puedo hacer esto?