簡體   English   中英

使用SpringLayout(Java)序列化一個類

[英]Serialize a class using SpringLayout (Java)

我最近開始使用Java進行開發,並從中受益匪淺。 默認的Java軟件包中裝有有用的東西,而擁有Swing軟件包對於創建GUI很有幫助。 我決定將SpringLayout用於我的LayoutManager,因為它既簡單又非常靈活,但是現在我發現自己陷入了困境。

我希望能夠保持我的應用程序狀態。 我開始使用Preferences API來解決這個問題,但這只允許存儲Java本機(可理解-其目標是輕量級)。 我繼續進行,通過持久化包裝有數據的XML字符串,混用了Preferences的使用。 過了一會兒,我決定環顧四周,看看是否還有更好的東西,然后我開始閱讀有關可序列化的內容-好像我找到了答案。

但是,當我嘗試序列化具有某些由SpringLayout管理的GUI組件的類時,遇到了一個障礙,我發現該類未實現可序列化。 我以為我已經找到了解決transient關鍵字問題的方法,但是SpringLayout唯一允許的修飾符是final 我看到的唯一解決方法是更改​​我正在使用的LayoutManager ...,因為創建了一些相當自定義的GUI,所以我不願意這樣做。

有任何想法嗎?

預先感謝您的任何答復。

-M

你是什​​么意思

SpringLayout唯一允許的修飾符是final

如果它是您的可序列化對象的字段,則可以將其聲明為瞬態。 如果您無法控制對象中的所有字段,請嘗試僅保留State對象,並在其中寫入所有相關數據。 堅持使用布局管理器不是一個好主意。

我試圖將構造函數本地的SpringLayout實例聲明為transient 需要做的是將這些變量聲明為類變量,然后將其修改為transient

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM