[英]Java: What is the best way to read a Serialized object?
如果我重復一個問題,我事先表示歉意。 如果我是,請轉發我到相關職位。
我有一個JPanel,上面有很多組件。 然后將其放置在JFrame上。 我想給用戶一個機會來保存他們當前的會話(即序列化JPanel及其完整的子組件值)。 然后,用戶應該有機會加載上一個會話(基本上是JPanel,其中包含已保存的comboxes和文本字段條目的選擇)。
我的問題與從文件讀取JPanel對象有關。 從文件讀取JPanel后,是否必須閱讀其每個文本字段和組合框,還是可以簡單地將JPanel替換為保存的JPanel? 據我所知,唯一的方法是用保存的面板替換當前面板,如下所示:
這有什么可以實現我想要的嗎?
謝謝。
反序列化將還原已保存的對象圖。 但是請參閱Javadoc:確實不建議序列化Swing對象。 您可能會研究java.beans.XMLEncoder
。
將數據保存在Swing面板的后面,而不是面板本身。 該面板是演示文稿,而不是用戶數據-您應該能夠僅根據用戶數據來重建面板的狀態。
為此,創建一個為面板的數據模型建模的模型,然后查看XML或JSON序列化器,該序列化器可讓您持久化並檢索該模型的數據。 從模型中填充UI,您就可以從代碼中一個完整的位置開始存儲和刷新屏幕。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.