该程序旨在使用户能够用线条绘制一些东西并将其保存到一个文件中,然后可以加载该文件,使用 ObjectOutput writeObject 方法保存工作正常,但它正在加载不起作用的文件,如果你保存文件你可以绘制一条额外的线以使显示与保存的不同,但是在使用 ObjectInputStream readObject 方法加载它时,它不会在面板上显示保存的图形。
1 回答
梦里花落0921
TA贡献1772条经验 获得超6个赞
看起来当您在 lineCount 中读回文件时设置为 100,因为这是您保存的数组的大小。
如果你只画了 3 条线,lineCount 是 100 而不是 3。
这意味着当您进行重绘时,它会尝试绘制空对象。
你需要做的是当你加载文件时找到行数组中的第一个空值并根据它设置你的 lineCount,而不是数组的长度。
一个简单的方法是
for (int loop = 0; loop < lines.length; loop++)
{
if (lines[loop] == null)
{
lineCount = loop;
break;
}
}
代替
lineCount = lines.length;
添加回答
举报
0/150
提交
取消