PaintContent
codice:
class PaintContent implements Printable{
ModelloTabella modello;
int pag;
public PaintContent (ModelloTabella model, int pagine){
modello=model;
pag=pagine;
}
public int print(Graphics g, PageFormat pf, int pageIndex) throws PrinterException {
int xo = (int) pf.getImageableX();
int yo = (int) pf.getImageableY();
//indice della righa x
int num = 0;
// posizione nella pagina rispetto all'asse Y
int y = 0;
// scorre tutte le pagine da Y+28 (lascio margine superiore) alla lunghezza massima stampabile della pagina
int tmp=pageIndex;
tmp= (tmp*23)-23;
while(y+28 < pf.getImageableHeight()){
// SONO NELLA PRIMA PAGINA
if(pageIndex == 0){
g.drawLine(xo, yo, xo+500, yo);
g.drawString("CARICO RIDOTTO", xo+10, yo+20);
g.drawLine(xo, yo+30, xo+500, yo+30);
y += (pf.getImageableHeight() - 500);
}
// TUTTE LE ALTRE PAGINE
else{
if((num+tmp)<modello.getRowCount()){
g.drawString(" Pagina " + pageIndex + " COMMESSA " + modello.getValueAt(num+tmp, 1) +" numero "+(num+tmp), xo+10, yo+y+12);
num++;
// Y = spazio fra una riga e quella successiva
y += 30;
}
}
}
if(pageIndex<pag){
return Printable.PAGE_EXISTS;
}else{
return Printable.NO_SUCH_PAGE;
}
}
}