Hey Leute
Habe ein kleines Problem:
Ich will mehrere Object über ein Socket senden.
Die Objecte beinhalten:
Zahlen (int)
Text (String)
Bilder (javax.swing.ImageIcon)
Datum (java.sql.Timestamp)
Uhrzeiten (java.sql.Time)
z.B:
So nun habe ich ein Problem bei der Serialisierung. Wie ihr seht habe ich bereits der Klasse eine serialVersionUID verpasst. Nun kommt bei einem Freund von mir die Fehlermeldung:
Wie muss ich den die ImageIcon Klasse erweitern um sie übertragen zu können.
Oder soltle ich eine andere Klasse verwenden.
Meine idee wäre so etwas:
scheint aber auch nicht wirklich zu funktionieren.
Achja:
Auf dem Server läuft Linux mit JRE 6.0 - bei dem Client läuft Win7 und JRE 7.0
Habe die serialVersionUID nur bei den Objuecten gesetzt die per Socket übertragen werde.
Achja bei meinem Versuch
habe ich später das Bild einem ImageIcon zugewiesen:
-> e.bild vom Typ Bild
-> Bild erweitert ImageIcon
-> Event e wurde vom Server geschickt
Hoffe mir kann jemand helfen
Mfg
Habe ein kleines Problem:
Ich will mehrere Object über ein Socket senden.
Die Objecte beinhalten:
Zahlen (int)
Text (String)
Bilder (javax.swing.ImageIcon)
Datum (java.sql.Timestamp)
Uhrzeiten (java.sql.Time)
z.B:
Java:
public class Event extends ListValue implements Serializable{
private static final long serialVersionUID = 123456789123456789L;
public String name;
public Timestamp datum;
public Time dauer;
public String text;
public ImageIcon bild
public Event(int id, String name, Timestamp datum, Time dauer, String text, ImageIcon bild){
super(id);
this.name = name;
this.datum = datum;
this.dauer = dauer;
this.text = text;
this.bild = bild;
}
}
So nun habe ich ein Problem bei der Serialisierung. Wie ihr seht habe ich bereits der Klasse eine serialVersionUID verpasst. Nun kommt bei einem Freund von mir die Fehlermeldung:
Code:
java.io.InvalidClassException: javax.swing.ImageIcon; local class incompatible: stream classdesc serialVersionUID = -962022720109015502, local class serialVersionUID = 532615968316031794
Wie muss ich den die ImageIcon Klasse erweitern um sie übertragen zu können.
Oder soltle ich eine andere Klasse verwenden.
Meine idee wäre so etwas:
Java:
import javax.swing.ImageIcon;
public class Bild extends ImageIcon{
private static final long serialVersionUID = 123456789123456789L;
}
Achja:
Auf dem Server läuft Linux mit JRE 6.0 - bei dem Client läuft Win7 und JRE 7.0
Habe die serialVersionUID nur bei den Objuecten gesetzt die per Socket übertragen werde.
Achja bei meinem Versuch
Code:
public class Bild extends ImageIcon
Java:
Event e;
ImageIcon i = e.bild;
-> e.bild vom Typ Bild
-> Bild erweitert ImageIcon
-> Event e wurde vom Server geschickt
Hoffe mir kann jemand helfen
Mfg