Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.
Imprimir jTable
Enviado por Guiomar el día 11 de mayo de 2005
Yo uso el siguiente código para imprimir un componente jTable:
public int print(Graphics g, PageFormat pageFormat,
int pageIndex) throws PrinterException {
Graphics2D g2 = (Graphics2D) g;
g2.setColor(Color.black);
int fontHeight=g2.getFontMetrics().getHeight();
int fontDesent=g2.getFontMetrics().getDescent();
Funciona perfectamente, pero el problema que tengo es que me gustaría imprimir una cabecera al principio y no soy capaz. Si alguién puede ayudarme. Gracias.
perdona yo estoy intentando imprimir una tabla y he intentado usar el código que has puesto pero no me funciona me lo podrías esplicar un poco??,
a mi me habían dicho que utilizara el método tabla.printAll(grafico)
pero no me funciona tampoco, ya me parecía a mi muy fácil, si puedes hecharme una mano te estaría muy agradecido. Gracias
Hola, prueba lo siguiente:
copias el código anterior, que es una función para imprimir. Donde pongo yo MaterialesTable, tú tienes que poner el nombre de la jTable que quieres imprimir.
Y despues pones un botón imprimir que cuando lo pulsen realize la siguientes acciones:
private void ImprimirButtonMouseClicked(java.awt.event.MouseEvent evt) {
PrinterJob pj=PrinterJob.getPrinterJob();
pj.setPrintable(ConsultarMateriales.this);
pj.printDialog();
try{
pj.print();
}catch (Exception PrintException) {}
}
Donde yo pongo "ConsultarMateriales.this" tienes que poner el nombre de la clase que contiene todo este código.this.
Ahh se me olvidaba que tambien tienes que poner que la clase qeu contiene este código implementa Printable:
implements Printable
Y tambien tienes que importar:
import java.awt.print.*;
Así te debería funcionar para una tabla sencilla, si tienes algún problema pues me comentas.
muchas gracias, todo eso lo tenía ya hecho lo que me pasaba es que no mostraba la pantalla en la pantalla, es decir, que no lo metía en el frame y parece que por eso no imprimía nada. Debe de ser por el layout que utilizo que si no lo cargas la tabla no tiene tamaño y por lo tanto no imprime nada.
Ahora tengo el mismo problema que tu, quiero meterle un string como cabecera pero no lo consigo, he intentado metienedo un label pero tampoco, creo que hay que ampliar el area del gráfico o algo así.
Bueno gracias por todo y suerte si consigo algo te digo.
Hola,
Yo tenia el mismo problema y me ha ido muy bien este código para imprimir la tabla.
Supongo que ya habreis resuelto el problema del string en la cabecera, pero por si acaso os pongo la solucion que he encontrado
Modificar print y añadir el siguiente código al final (despues que se llama a paint del header de la tabla
El codigo sobre como Imprimir el JTable sale bien, es decir me manda el Dialog de Impresion, pero hay un problemna cuando elijo la opcion guardarlo como PDF mi makina suele colgarse o ponerse....q puedo hacer???, oes que te debo utilizar otro codigo para exportar a PDF==????
Enviado por aguirre_jose22 el día 16 de octubre de 2008
hoja quisiera saber donde puedo modificar el tamaño de la tabla, y tambien quiero saber como hago pa q la hoja me salga horizonatal porq la modifico por medio de la configuracion de la impresora y nada, mi tabla tiene muchas columnas entonces me lo imprime pequeño, quisiera que fuera en varias hojas, tambien cuando le doy a imprimir se imprime dos veces nose que hacer ayuda gracias...