JPanel in ein file
-
Hi leute
eine frage, gibt es eine möglichkeit ein jpanel, dass ich zeichnen lasse sozusagen in ein outputfile zuschreiben, damit ich es später ansehen kann.
warum ich das will? naja weil ich etwas zeichnen lasse, und zwar aufgesplitet auf mehrere panels und die muss ich später zusammenfügen!hhhhhhhhmmmmmmmmmmmmm alle vorschläge willkommen!
-
Ähhh für den Fall das JPanel das entsprechende Interface implementiert, ja!
Wenn nicht musst du Serializable halt selbst implementieren.
-
Also die benötigten Klassen:
ObjectOutputStream, ObjectInputStream
Hier das doc Beispiel:
FileOutputStream fos = new FileOutputStream("t.tmp");
ObjectOutputStream oos = new ObjectOutputStream(fos);oos.writeInt(12345);
oos.writeObject("Today");
oos.writeObject(new Date());oos.close();
-
Serialisierung hilft hier nur bedingt - man hat dann halt die Panels auf der Platte aber wohl noch lange nicht die Zeichnung auf dem Panel. Diese müsste irgendwie als Member des Panels verfügbar sein und mitserialisiert werden. Sonst ist Essig
-
ich hab das jetzt anders gemacht!
ich zeichne das image einfach in ein file mit imageIO(new File(..))
gehts ganz gut, nur ein problem hab ich noch, wie kann ich die qualität beeinflussen, oder zumindest die grösse??????
-
Ist das Graphics-Objekt des Panels keine member Variable und wird das Bild nich darauf gezeichnet? Wie auch immer, trotzdem ist die Serialisierung das mir einzig bekannte Mittel um so ein JPanel zu speichern. ^^
-
Nein, der Graphics-Kontext entsteht neu und kann nicht gespeichert werden. Er ist darüber hinaus auch kein Member der Klasse. Vlg. dazu die paint(...)-Methoden die ausschließlich ein Graphics-Objekt überliefert bekommen.