Hallo !
Ich habe eine Klasse…
public class InhaltNEU extends JPanel
implements ActionListener, WindowListener, Printable
…in deren Konstruktor eine JList kreiert wird. Über eine andere Klasse wird diese in einem JFrame dann sichtbar gemacht, welches dann meine Anwendung „Einkaufsliste“ ist, was aber für den weiteren Zusammenhang nicht besonders wichtig ist.
Nun soll also diese JList, die mit einem DefaultListModel verbunden ist, ausgedruckt werden können. Sprich: wenn jemand im JFrame auf den Menüeintrag „Drucken“ klickt, soll der Inhalt der JList oder eben auch das, was im DefaultListModel eingetragen ist, ausgedruckt werden.
Zu diesem Zwecke habe ich im zum Menüeintrag „Drucken“ zugehörigen ActionListener bisher folgendes eingetippt:
if(ae.getActionCommand().equals(„Drucken“))
{
PrinterJob druckJob = PrinterJob.getPrinterJob();
druckJob.setPrintable(this);
try
{
if(druckJob.printDialog())
{
druckJob.print();
}
}
catch (PrinterException pe)
{
JOptionPane.showMessageDialog(null, "Leider gab es einen Fehler " +
„bei der Druckanweisung.“);
}
}
Dann gibt es in derselben Klasse noch eine print-Methode:
public int print(Graphics graphics, PageFormat pageFormat, int pageIndex)
{
if(pageIndex == 1)
{
int x = 10;
int y = 10;
this.graphics = graphics;
for(int i=0; i
Hallo !
Hallöle!
Ich kenn mich mit der Druckerei in Java leider auch nicht aus. Beim Druchstöbern der API ist mir allerdings der Satz aufgefallen:
pageIndex - the zero based index of the page to be drawn
D.h. die ganze Druckerei fängt mit 0 an. Vllt. würde es etwas bringen,
wenn du die if-Abfrage auf pageIndex == 0 änderst.
Viel Erfolg, Chris
public int print(Graphics graphics, PageFormat pageFormat, int
pageIndex)
{
if(pageIndex == 1)
{
int x = 10;
int y = 10;
this.graphics = graphics;
for(int i=0; i
Hallo !
Bist du mal mit einem Debugger durch gegangen?
> if(pageIndex == 1)
> {
> int x = 10;
> int y = 10;
> this.graphics = graphics;
> for(int i = 0; i
Was bezweckst du hiermit, wo du this.graphics doch nicht
mehr verwendest?
> this.graphics = graphics;
Gruss, Patrick
http://www.javaworld.com/javaworld/jw-10-2000/jw-1020-print.html
Hallo Chris,
habe Deinen Vorschlag eingesetzt. Klappt aber leider trotzdem nicht.
Der Drucker springt zwar an und zieht auch ein Blatt durch, aber drucken tut er nichts.
Ich frage mich, ob bei…
PrinterJob druckJob = PrinterJob.getPrinterJob();
druckJob.setPrintable(this);
… der Parameter this der Richtige ist.
„this“ verweist doch auf das Objekt dieser Klasse. Und die Klasse…
public class InhaltNEU extends JPanel implements ActionListener, WindowListener,
Printable
…ist zunächst ja mal ein JPanel. Andererseits wird aber hier im Konstruktor die JList, welche letztlich ausgedruckt werden soll und das dazugehörige DefaultListModel ‚gebaut‘.
Gruss, Lars
Hallo Chris,
Hey Lars.
habe Deinen Vorschlag eingesetzt. Klappt aber leider trotzdem
nicht.
Der Drucker springt zwar an und zieht auch ein Blatt durch,
aber drucken tut er nichts.
Schade 
Schau mal unter http://www.galileocomputing.de/openbook/javainsel5/j…, speziell Kapitel 14.13.3, nach. Da müsste es genau um dein Anliegen gehen.
Oder unter http://www.softwareacademy.de/JAVA/JAVA-Training/Def….
Viel Erfolg. Wäre interessant, obs damit klappt.
Gruss, Chris