Drucken unter Java
Chris
- java
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?
Hallo Chris, bei Guido Krüger "Go To Java 2" ist dem Thema ein ganzes Kapitel gewidmet. Das Buch ist auch online vefügbar. Gruß martin
Danke, aber das Buch habe ich. Leider komme ich trotzdem nicht auf den Fehler.......