Hallo zusammen!
Ich bin gerade dabei, ein Programm für die Erstellung von Rechnungen zu schreiben, die dann gedruckt werden können. Ich bin jetzt soweit, dass alle notwendigen Daten aus diversen Eingabefeldern gelesen und in einem Vector gespeichert werden. Soweit, so gut.
Jetzt zum Problem beim Drucken: Bis jetzt habe ich es geschafft, den Drucker anzusprechen und irgendwelche hart codierten Strings zu drucken. Allerdings soll der Vector ausgelesen und für den Druck aufgebreitet werden. Ich weiss aber nicht, wie bzw. wohin ich den Vector übergeben muss, damit ich aus dem Printable darauf zugreifen kann. Vielleicht hab ich auch irgendwas ganz falsch verstanden, für mich ist Drucken in Java absolutes Neuland.
Puh, hoffe, das war halbwegs verständlich...
Danke schonmal für die Hilfe
Die folgenden Codeauszüge sind die Klassen, die ich bisher für das Drucken erstellt (bzw. geklaut ) habe:
Ich bin gerade dabei, ein Programm für die Erstellung von Rechnungen zu schreiben, die dann gedruckt werden können. Ich bin jetzt soweit, dass alle notwendigen Daten aus diversen Eingabefeldern gelesen und in einem Vector gespeichert werden. Soweit, so gut.
Jetzt zum Problem beim Drucken: Bis jetzt habe ich es geschafft, den Drucker anzusprechen und irgendwelche hart codierten Strings zu drucken. Allerdings soll der Vector ausgelesen und für den Druck aufgebreitet werden. Ich weiss aber nicht, wie bzw. wohin ich den Vector übergeben muss, damit ich aus dem Printable darauf zugreifen kann. Vielleicht hab ich auch irgendwas ganz falsch verstanden, für mich ist Drucken in Java absolutes Neuland.
Puh, hoffe, das war halbwegs verständlich...
Danke schonmal für die Hilfe
Die folgenden Codeauszüge sind die Klassen, die ich bisher für das Drucken erstellt (bzw. geklaut ) habe:
Code:
public class PrintManager extends PrinterException { private static PrintManager pm = null; private PrintManager(){ } public static PrintManager getInstance() { if (pm == null) { pm = new PrintManager(); } return pm; } PrinterJob pjob; public void print(Vector<Rechnung> rgVector) throws PrinterException{ pjob = PrinterJob.getPrinterJob(); if ( pjob.printDialog() == false ) return; pjob.setPrintable(new PrintLayout()); pjob.print(); } }
Code:
class PrintLayout implements Printable { static Font font = new Font( "Times", Font.PLAIN, 13 ); public int print( Graphics g, PageFormat pageFormat, int pageIndex ) { if ( pageIndex >= 1 ) return Printable.NO_SUCH_PAGE; g.setFont( font ); g.drawString( "Testseite" + pageIndex, 100, 100 ); return Printable.PAGE_EXISTS; } }
Comment