Drucken mit PrinterJob

ich_Schmiddy

Mitglied
Hallo!

Ich programmiere eine Druckfunktion mit PrinterJob. Bisher habe ich:

public void Drucken(Vector Druck)
{
ls_tools x = new ls_tools();
druckbar db = new druckbar();
int i = 0;

Ausgabe = Druck;

PrinterJob pj;
pj = PrinterJob.getPrinterJob();

PageFormat pfd = pj.defaultPage();
PageFormat pf = pj.pageDialog(pfd);

if (pfd != pf)
pj.setPrintable(db,pf);
else
pj.setPrintable(db,pfd);

pj.printDialog();

k = 0;

try
{
pj.print();
}
catch (Exception e){ e.printStackTrace(); }
}

//================================

static public class druckbar implements Printable
{
public int print(Graphics g, PageFormat pf, int page) throws PrinterException
{
int i = 0;

for(int j = 0; (j+1) * 15 <= pf.getImageableHeight() - 20 ; j++)
{
g.drawString(String.valueOf(Ausgabe.get(k)),(int)pf.getImageableX(),(int)pf.getImageableY() + 10 + (15 * j));
k++;
}

return i;
}
}


Dieses Programm druckt zwar etwas aus, aber nicht alles..... Der Vector "Ausgabe" hat mehrere Hundert Elemente. Wenn ich im Druckerfenster Seite 1-1 wähle, läuft er durch die Elemente bis ca. Index 80 durch, alle 40 Elemente ist eine Seite voll, d.h. er druckt nur die letzten 40 Elemente und ignoriert die ersten 40 einfach.

Woran liegt das?
 

Neue Beiträge

Zurück