我正在使用swing组件在java中进行简单的骰子游戏。我只是想保存游戏的进度,所以我创建了一个名为State
的类,然后我想序列化它。
但是当我尝试这样做时,NullPointerException
返回了:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javax.swing.plaf.synth.SynthLookAndFeel.paintRegion(SynthLookAndFeel.java:364)
at javax.swing.plaf.synth.SynthLookAndFeel.update(SynthLookAndFeel.java:328)
at javax.swing.plaf.synth.SynthViewportUI.update(SynthViewportUI.java:168)
...
使用调试器我看到文件已创建,因此对象已被序列化,但我无法继续执行主程序。
我在类State中有这个方法:
public void SaveState() {
try {
ObjectOutput out = new ObjectOutputStream(new
FileOutputStream("C://game.ser"));
out.writeObject(this);
out.close();
} catch (FileNotFoundException ex) {
} catch (IOException ex) {
}
}
并且该类实现了Serializable
答案 0 :(得分:1)
我明白了!问题是我试图序列化一个DefaultDataModel,一个State的数据库,所以我将搜索另一种方法来保存JTable的分数!谢谢你的答案!