該程序旨在使用戶能夠用線條繪制一些東西并將其保存到一個文件中,然后可以加載該文件,使用 ObjectOutput writeObject 方法保存工作正常,但它正在加載不起作用的文件,如果你保存文件你可以繪制一條額外的線以使顯示與保存的不同,但是在使用 ObjectInputStream readObject 方法加載它時,它不會在面板上顯示保存的圖形。
1 回答

夢里花落0921
TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超6個贊
看起來當(dāng)您在 lineCount 中讀回文件時設(shè)置為 100,因?yàn)檫@是您保存的數(shù)組的大小。
如果你只畫了 3 條線,lineCount 是 100 而不是 3。
這意味著當(dāng)您進(jìn)行重繪時,它會嘗試?yán)L制空對象。
你需要做的是當(dāng)你加載文件時找到行數(shù)組中的第一個空值并根據(jù)它設(shè)置你的 lineCount,而不是數(shù)組的長度。
一個簡單的方法是
for (int loop = 0; loop < lines.length; loop++)
{
if (lines[loop] == null)
{
lineCount = loop;
break;
}
}
代替
lineCount = lines.length;
添加回答
舉報
0/150
提交
取消