![](/img/trans.png)
[英]How to remove JButton from JFrame from inside JButton's ActionListener?
[英]Serialization of JFrame removes JButton's ActionListener - Java
我對序列化比較陌生,所以我創建了一個測試應用程序來處理它。 我序列化了一個JFrame
,其中添加了 3 個JComponents
:一個JTextArea
和兩個JButtons
。 一個按鈕保存JFrame
的狀態(即序列化),另一個按鈕加載序列化的 JFrame(即反序列化)。
當我在JTextArea
鍵入消息,單擊按鈕以保存狀態,然后從 SER 文件加載JFrame
,我得到了完全相同的對象(鍵入的消息和所有),只是按鈕不再起作用。
有人會介意解釋為什么會這樣嗎?
PS我知道序列化GUI組件通常不是一個好習慣,但這僅用於學習目的。
我讓實現ActionListener
的類也實現了Serializable
,這解決了這個問題。
是的,那肯定會有所幫助,即使實現ActionListener的類實現Serializable。 這里的問題是為什么看到組件具有不可序列化的事件偵聽器,進程為什么不引發NotSerializableException,為什么將偵聽器簡單地從序列化中排除,而不是拋出異常? 另外,如果我使用lambda表達式實現ActionListener怎么辦? 請幫忙😭
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.