Java - Imprimir jTable

 
Vista:

Imprimir jTable

Publicado por Eduardo (144 intervenciones) el 01/10/2010 15:11:16
Hola, alguien sabe como puedo imprimir una jtable por una impresora de tickets.
He probado con el método print de jtable pero me saca la tabla muy pequeña y no se ve nada.
Me da igual como se imprima, pero en papel tiene que salir con el formato de una tabla, es decir con sus bordes separando celdas.
Alguna sugerencia, gracias.
Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Imprimir jTable

Publicado por octavio (74 intervenciones) el 03/10/2010 20:39:01
Prueba con la clase Print

en tu clase implementa Printable

debes crear un metodo como el siguiente:

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());
hojaH.printAll(graphics);
return PAGE_EXISTS;

}

y luego lo puedes llamar de la siguiente manera:

private void imprimirHoja(){
try {
PrinterJob job = PrinterJob.getPrinterJob();
PageFormat pageFormat = new PageFormat();
java.awt.print.Paper papel = new java.awt.print.Paper();
papel.setImageableArea(0, 0, 99999, 99999);
pageFormat.setPaper(papel);
pageFormat=job.pageDialog(pageFormat);
pageFormat.setOrientation(pageFormat.LANDSCAPE);
job.setPrintable(this, pageFormat);
job.setPrintable(this);
if(job.printDialog()){
job.print();
}
} catch (Exception ex) {
System.err.println("NO SE PUDO IMPRIMIR");
}
}

Esto te imprimira una area del JFrame que estas utilizando, no recuerdo bien pero creo que con el setImageableArea modificas el area que deseas imprimir.

Yo te invito que veas bien el funcionamiento de Printable (http://download.oracle.com/javase/1.4.2/docs/api/java/awt/print/Printable.html) y de PrinterJob (http://download.oracle.com/javase/1.4.2/docs/api/java/awt/print/PrinterJob.html) creo que tambien sera util ver el PageFormat para ver los formatos de la pagina: http://download.oracle.com/javase/1.4.2/docs/api/java/awt/print/PageFormat.html

espero que te sea util
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar