Serialisieren von AWTEvent

Status
Nicht offen für weitere Antworten.

thE_29

Top Contributor
Hi!

Also das ganze in in Anlehnung zu meinem Recorder/Player.

Da ich gerne alle Events abspeichern möchte und laut API AWTEvent serializable ist, will ich gerne alle Events abspeichern, aber wenn ich die dann wieder auslese, steht da immer als source NULL drinnen, was ja net so supär ist.


Desweiteren wie kann ich mehrere Objekte hintereinander am besten abspeichern, sodass man sie wieder auslesen kann??

(Serialisieren, ist in C++ 100mal besser, da man da besser eingreifen kann als in Java und ich komm zz noch net ganz klar mit dem Zeugs).


Mfg
 

thE_29

Top Contributor
Nunja, das habe ich auch gemacht, aber dann ist der Source auch noch immer null!

Vielleicht isses ja wirklich transient, der Schuft der! Also isses eher unwahrscheinlich das ich das serialisieren kann :((
 

thE_29

Top Contributor
Und wie geht das??
Hab bei serialisieren mit Java wirklich net viel Ahnung... wie gesagt in C++ war das anders ;)
 

thE_29

Top Contributor
Ich versteh nur Bahnhof :p

Was ich wenn ich das Source Objekt kopiere und so versuche zu speichern, würde das gehen??
 

thE_29

Top Contributor
Also ich hau das jetzt alles in einen Vector (die events) und speicher das dann so wie hier http://www.java-forum.org/de/viewtopic.php?t=8915&highlight=dom. Aber dann bekom ich das hier

java.lang.InstantiationException: java.awt.event.MouseEvent
Continuing
java.lang.Exception: discarding statement Vector0.add(MouseEvent(xx);

und die xml Datei sieht so aus

<java version="1.4.2" class="java.beans.XMLDecoder">
<object class="java.util.Vector"/>
</java>
 

foobar

Top Contributor
XmlEncoder/XmlDecoder bringt dir in diesem Fall nichts, da es auch nur eine andere Form der Serialisierung ist. Entweder du machst es zu Fuß mit Dom oder du verwendest Jaxb.
Ich empfehle dir es mit Dom/Reflection zu lösen, da du so viel mehr lernst ;-)
 

thE_29

Top Contributor
Also wenn ich den awtEvent in meine eigene Klasse reinmache, sprich ich speichere extra objekt und so ab geht das speichern, nur new AWTEvent geht net, weils ja abstract ist.....

pif paf, wie kann ich den Event wieder neu erzeugen??
 

thE_29

Top Contributor
Nachtrag: Kannst du dein BSP auch erklären??

Ich check da nix, wie speichere ich da was ab und wie lese ich da was in eine variable ein???
 

foobar

Top Contributor
Das wichtigste ist die Methode parse. Hier wird das Domdocument geparst und die enstprechenden Itemobjekte werden instanziert.
Code:
public HashMap parse() throws Exception
   {
      HashMap out = new HashMap();
      NodeList lstGroup = doc.getElementsByTagName("group"); // alle group-Elemente suchen
      for (int i = 0; i < lstGroup.getLength(); i++)
      {
         Element elmGroup = (Element) lstGroup.item(i);  
         String currentGroupName = elmGroup.getAttributes().getNamedItem("name").getNodeValue(); // alle Item-Elemente des aktuellen Group-Elements suchen
         NodeList lstItem = elmGroup.getElementsByTagName("item");
         for (int j = 0; j < lstItem.getLength(); j++)
         {
            Node nodItem = lstItem.item(j);
            String key = nodItem.getAttributes().getNamedItem("name").getNodeValue();
            String value = nodItem.getAttributes().getNamedItem("value").getNodeValue();
            String type = nodItem.getAttributes().getNamedItem("type").getNodeValue(); 
// Attribute des item-Elements auslesen und entsprechendes Item-Objekt erzeugen
            if (out.get(currentGroupName + "." + key) == null)
            {
               out.put(currentGroupName + "." + key, new Item(value, type));
            }
            else
               throw new Exception("Config already exists");
         }
      }
      return out;
   }
 

thE_29

Top Contributor
Und hast du ein speicherbsp auch?

Und die dtd müsste ich ja auch anpassen....

Bzw.: ein Tutorial ich werd aus dem Blödsinn mal überhaupt net schlau....
 

thE_29

Top Contributor
Aha also Strings kann ich jetzt schon mal abspeichern, aber wie kann ich ganze Klassen mit dem Zeugs abspeichern/lesen??
 

foobar

Top Contributor
Du mußt den Klassennamen und die entsprechenden Parameter mit Werten in einer Xmldatei abspeichern z.b. so:

Code:
<?xml version="1.0"?>
<classes>
 <class name="mypackage.MyClass">
    <param name="param1" type="java.lang.String" value="foo"/>
     <param name="param1" type="java.lang.String" value="bar"/>
  </class>
</classes>

Jetzt mußt du den Xmldatenstrom einlesen und mithilfe von DOM parsen. Anhand des Klassennamens und der Parameter kannst du dann mit der Reflection-API Objekte erzeugen. Ist nicht besonders schwierig, ich habe das schon öfters gemacht.
 

thE_29

Top Contributor
ich glaub ich las das, solange es da net wenigstens vernünftige Bsp gibt, ich will mich nicht da jetzt mehrere Tage durcharbeiten....
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Objekt serialisieren/deserialisieren und in einer SQLite-Datenbank speichern Allgemeine Java-Themen 3
OnDemand Objekte serialisieren Allgemeine Java-Themen 3
B Mehrere Objekte verschlüsselt serialisieren Allgemeine Java-Themen 6
D Problem mit Referenzen beim Serialisieren Allgemeine Java-Themen 3
J Methoden Fehler beim serialisieren und laden!? help Allgemeine Java-Themen 4
X Objekte aus TableModel serialisieren und deserialisieren Allgemeine Java-Themen 4
J Bilddaten serialisieren Allgemeine Java-Themen 7
B Zertifikat des Users speichern (serialisieren oder kopieren) Allgemeine Java-Themen 2
A Dateien Serialisieren Allgemeine Java-Themen 50
G Objekte serialisieren Allgemeine Java-Themen 2
MQue Serialisieren von Objecten Allgemeine Java-Themen 6
J Ein Objekt mehrfach serialisieren Allgemeine Java-Themen 2
A Problem beim serialisieren/deserialisieren einer ArrayList Allgemeine Java-Themen 3
M Observer serialisieren Allgemeine Java-Themen 7
K Collections oder Vektoren sicher zu serialisieren? Allgemeine Java-Themen 5
M DefaultTableModel wirft beim Serialisieren Exception :-( Allgemeine Java-Themen 7
Z Array serialisieren Allgemeine Java-Themen 4
G Serialisieren eines JButton mit Icon Allgemeine Java-Themen 8
F Textformatierungen wie serialisieren? Allgemeine Java-Themen 5
L unterschiedliche Größe beim serialisieren eines Objektes! Allgemeine Java-Themen 6
G Serialisieren von Objekten : IO Exception beim Schreiben Allgemeine Java-Themen 3
R Serialisieren Allgemeine Java-Themen 2
F Bild (File) komplett serialisieren Allgemeine Java-Themen 9
B Serialisieren von mehreren Objekten Allgemeine Java-Themen 7
B Serialisieren von Klassen Allgemeine Java-Themen 4
I Vector serialisieren: StackOverflow Allgemeine Java-Themen 13

Ähnliche Java Themen

Neue Themen


Oben