Graphics2D无法序列化

时间:2013-09-23 20:50:31

标签: java

爪哇:

如何序列化Graphics2D?我正在制作一个平台游戏,我想要一个使用序列化的保存/加载系统。

    java.io.NotSerializableException: sun.java2d.SunGraphics2D

打印此异常。有没有办法有序列化的Graphics2D?

2 个答案:

答案 0 :(得分:5)

不,Graphics2D(以及其他处理图形,声音或网络的类)的实例通常不是Serializable。您应该尝试将需要保存的数据与处理呈现的代码分开。

如果无法执行此操作,则应将Graphics2D字段标记为transient。这样,序列化系统在保存时会跳过Graphics2D字段。加载后,您只需将Graphics2D字段设置为您手动创建的新实例。

答案 1 :(得分:0)

您是否尝试过使用createGraphics()代替getGraphics()?为了向后兼容而维护getGraphics(),但不推荐使用它