Imprimir mas de una hoja
Hola, tengo que imprimir (por impresora...) el contenido de un JTextArea, pero solo me saca el contenido de la primera hoja, alguien puede ayudarme a solucionarlo?
El codigo que utilizo es este:
Frame fr = new Frame("Impresion");
fr.pack();
PrintJob pjob = fr.getToolkit().getPrintJob(this,"Impresion de los datos:",null);
if(pjob == null) //si el usuario hizo clic en "Cancelar"
return;
// Se obtiene el objeto graphics sobre el que pintar
Graphics pg = pjob.getGraphics();
// Se fija el font de caracteres con que se escribe
pg.setFont( new java.awt.Font( "SansSerif",java.awt.Font.PLAIN,10 ) );
String texto = areatexto.getText();
String aux="";
int coordenada_y=20;
for(int i=0; i < texto.length(); i++)
{
if(texto.charAt(i) != 'n') //se va creando una cadena con cada linea
aux += texto.charAt(i);
else //se encuentra un "fin de linea"
{
//Se escribe una linea
pg.drawString(aux, 20, coordenada_y);
coordenada_y += 10;
aux = "";
}
}
// Se finaliza la página
pg.dispose();
// Se hace que la impresora termine el trabajo y escupa la página
pjob.end();
}
El codigo que utilizo es este:
Frame fr = new Frame("Impresion");
fr.pack();
PrintJob pjob = fr.getToolkit().getPrintJob(this,"Impresion de los datos:",null);
if(pjob == null) //si el usuario hizo clic en "Cancelar"
return;
// Se obtiene el objeto graphics sobre el que pintar
Graphics pg = pjob.getGraphics();
// Se fija el font de caracteres con que se escribe
pg.setFont( new java.awt.Font( "SansSerif",java.awt.Font.PLAIN,10 ) );
String texto = areatexto.getText();
String aux="";
int coordenada_y=20;
for(int i=0; i < texto.length(); i++)
{
if(texto.charAt(i) != 'n') //se va creando una cadena con cada linea
aux += texto.charAt(i);
else //se encuentra un "fin de linea"
{
//Se escribe una linea
pg.drawString(aux, 20, coordenada_y);
coordenada_y += 10;
aux = "";
}
}
// Se finaliza la página
pg.dispose();
// Se hace que la impresora termine el trabajo y escupa la página
pjob.end();
}