該程序旨在使用戶能夠用線條繪制一些東西并將其保存到一個文件中,然后可以加載該文件,使用 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
提交
取消