Я работаю над своей игрой почти без перерыва с 11 утра.И я почти закончил.
Но я получаю сообщение об ошибке всякий раз, когда я пытаюсь сериализовать и десериализовать мои данные ...
Там "игра запущена"класс, расширяющий JFrame.И это содержит другие классы, которые являются сериализуемыми.Теперь, когда я пытаюсь сериализовать эти объекты в файл (или прочитать их обратно в программу), я получаю ошибку.
Вот суть этого:
java.io.IOException: failed to load image contents
at javax.swing.ImageIcon.writeObject(ImageIcon.java:418)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:416)
at javax.swing.JLabel.writeObject(JLabel.java:890)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
** IsМожно ли сериализовать ImageIcons?(Мой учитель сказал мне «да», поэтому я и использовал их. **
Если это имеет значение, я объявил / инициализировал образы в моем сериализуемом классе:
private final Image heroIcona = new ImageIcon("heroIcon.png").getImage();