Image erstellen.

Also beim Speichern ist das Problem, dass er es nicht als jpg, gif oder png abspeichert sondern einfach alls Datei.
Dein größtes Problem ist, dass du dich scheinbar nicht so ganz mit der Sache auskennst. Das Bild kann nur als Datei gespeichert werden (welche Speichermethode sonst?)
Die Dateiendung bestimmst du selbst. Wichtig ist, dass sie mit dem Inhalt übereinstimmt. Die Datei kann natürlich ein JPEG-Bild sein, und trotzdem ohne Dateiendung abgespeichert werden. Du solltest dir vielleicht grundlegende Computerkenntnisse aneignen.

Dein Speichern kann außerdem nicht funktionieren, weil du in das Graphics-Objekt, das du dir holst, nicht hinein zeichnest.

Die Methode PrinterJob.createGraphics(); existiert nicht. Deswegen kannst du auf sie nicht zugreifen. Wenn du dir den Beitrag von HonniCilest genauer ansiehst, steht da auch PrintJob, nicht PrinterJob.

Außerdem ist es nicht empfohlen, so viele Pakete vollständig zu importieren. Das frisst nur unnötig Ressourcen! Dafür gibt es IDEs, die diese Arbeit (imports generieren) für dich erledigen.
 
Zuletzt bearbeitet:
Und beim Drucken findet er den Befehl pjog.createGraphics(); nicht.

Entschuldige, das muss getGraphics() heißen. Ich schätze mit einem Blick in die API wärst du sicher auch alleine darauf gekommen ;)

Schau bitte nochmal oben, da hatte ich anhand eines Kommetares angegeben, dass du Graphics2D auch noch bearbeiten musst!
 
Außerdem ist es nicht empfohlen, so viele Pakete vollständig zu importieren. Das frisst nur unnötig Ressourcen! Dafür gibt es IDEs, die diese Arbeit (imports generieren) für dich erledigen.

also bei allen projekten die ich bis jetzt entwickelt hab habe ich immer sämtliche pakete VOLLSTÄNDIG importiert die die klassen enthielten die ich brauchte ...
nämlich aus dem grund weil ich keine 100 import zeilen haben will wenns mit 5 oder 10 auch geht ...
außerdem : projekt mit vollständig importiertem javax.swing.* und java.awt.* machen weder die class größer noch brauchen sie bei der ausführung mehr speicher
und ich glaube auch kaum das es sinnvoll ist so viele import-anweisungen zu haben ... nicht umsonst hat man in java die wildcards für imports ermöglicht ... ansonsten sähe das so stumpf wie in C aus ... jedes header-file einzeln importieren ...

wenn du nämlich mal java im debug-modus laufen lässt und dir den verbose-output ankuggst dann siehst du das die JVM nur die klassen läd die gebraucht werden ... und das völlig unabhängig von den imports ... die sind im großen und ganzen nur dazu da dem compiler die verwendeten klassen bekannt zu machen so das er dann z.b. Driver immer mit java.sql.Driver verbindet und du es nicht jedes mal dazuschreiben musst ...
 
Zurück