我試圖序列化一個JPanel,但每次我得到這個錯誤:序列化鞦韆/ AWT組件
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: javax.swing.GroupLayout
你能告訴我,可能是什麼問題,或者是什麼序列化它的正確方法。
我做的是非常簡單的:
序列化:
FileOutputStream f = new FileOutputStream("myfile.dat");
ObjectOutputStream ostream = new ObjectOutputStream(f);
Object object = panel; //where panel is a JPanel type object
ostream.writeObject(object);
ostream.close();
現在的反序列化:
File file = new File("myfile.dat");
ObjectInputStream in;
try {
in = new ObjectInputStream(new FileInputStream(file));
object = (JPanel) in.readObject();
in.close();
} catch (Exception e2) {
e2.printStackTrace();
}
在閱讀中的最後一步的序列化對象我遇到上述錯誤。什麼原因,或者任何想法應該如何做到這一點?
這將是更好的序列化面板的數據,或兒童的價值(文本字段,組合,列表等),比面板本身。 – 2012-03-26 14:50:08
@AndrewThompson,是的,但它是複雜的方式來挑選面板中的每個對象,面板本身是JUNG框架的一部分,被稱爲可視化查看器,它顯然擴展了JPanel – 911TurboS 2012-03-26 14:54:24