[英]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.