Druckproblem

ich_Schmiddy

Mitglied
Hallo!

Ich will eine Druckfunktion implementieren. Ich habe damit angefangen eine Methode zu schreiben.

public void Drucken(Vector Druck)
{
PrinterJob pj;
pj = PrinterJob.getPrinterJob();

PageFormat pf = new PageFormat();
pj.pageDialog(pf);

pj.printDialog();

//pj.setPrintable(druckbar);
(...)
}

In Meinem Buch habe ich gelesen, daß ein Objekt die Schnittstelle Printable implementieren muß. Daher habe ich versucht eine Klasse zu schreiben, die das Interface implementiert, und in der obigen Funktion will ich mit setPrintable diese Klasse setzen. Es gibt aber immer einen Fehler... Was mache ich falsch?

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

}
 
Original geschrieben von ich_Schmiddy
Hallo!

Ich will eine Druckfunktion implementieren. Ich habe damit angefangen eine Methode zu schreiben.

public void Drucken(Vector Druck)
{
PrinterJob pj;
pj = PrinterJob.getPrinterJob();

PageFormat pf = new PageFormat();
pj.pageDialog(pf);

pj.printDialog();

//pj.setPrintable(druckbar);
(...)
}

In Meinem Buch habe ich gelesen, daß ein Objekt die Schnittstelle Printable implementieren muß. Daher habe ich versucht eine Klasse zu schreiben, die das Interface implementiert, und in der obigen Funktion will ich mit setPrintable diese Klasse setzen. Es gibt aber immer einen Fehler... Was mache ich falsch?

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

}

a) aus welchen Grund eine statische Klasse?
b) Fehlermeldung immer mit angeben.
 
Die Fehlermeldung ist einfach "druckbar" kann nicht aufgelöst werden. Seshalb habe ich auch mal versucht die klasse als static zu definieren, hat aber leider auch nicht geklappt...
 
Original geschrieben von ich_Schmiddy
Die Fehlermeldung ist einfach "druckbar" kann nicht aufgelöst werden. Seshalb habe ich auch mal versucht die klasse als static zu definieren, hat aber leider auch nicht geklappt...

Nun du kannst nicht so einfach auf eine Klasse zugreifen.

Du solltest die Klasse erst instanzieren. Zudem Klassen immer mit startendem grossen Buchstaben.

public class Druckbar {
}

und dann die instanz erstellen:

Druckbar druckbar = new Druckbar();

und diese Instanz übergeben.
pj.setPrintable(druckbar);
 

Neue Beiträge

Zurück