Schwierigkeiten beim Drucken

ich_Schmiddy

Mitglied
Hallo!

Ich bin dabei eine Druckfunktion zu implementieren. Bisher habe ich:
// ===========================
static public class druckbar implements Printable
{
public int print(Graphics g, PageFormat pf, int page) throws PrinterException
{
int i = 0;
g.setColor(Color.BLACK);
int j = 0;
int y = (int)pf.getImageableY()+5;

while (anzahl>0)
{
while (y<pf.getImageableHeight()-5)
{
g.drawString(String.valueOf(Ausgabe.get(j)),(int)(pf.getImageableX()+5),y);
y += 20;
g.dispose();
}
g.dispose();
anzahl--;
y = (int)pf.getImageableY()+5;
}
return i;
}
}

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

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();

anzahl = pj.getCopies();

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

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

Die Variablen anzahl und Ausgabe sind static, Ausgabe ist ein Vector, in dem die Daten, die Gedruckt werden sollen, sind.

Wenn ich die Methode "Drucken" aufrufe, kommen zwar Seiten raus, diese sind aber leer. Wenn ich in der Klasse "Druckbar" nur ein g.drawString("Text",300,300) schreibe, wird der Text aber ausgegeben. Das "dispose" habe ich auch schon an verschiedene Stellen geschrieben, klappt aber nicht. Brauche ich es überhaupt?

Was mache ich falsch?
 

Neue Beiträge

Zurück