Java Swing组件和序列化

Java Swing组件和序列化,java,swing,Java,Swing,为什么SwingJComponent类实现了接口Serializable?按照我实现视图的方式,它们是无状态的,所有状态数据都存储在表示模型中。所以我不需要序列化我的视图。我使用了@SuppressWarnings(“串行”)注释来删除警告。有没有更好的方法去除它们 为什么Swing JComponent类实现了可序列化的接口 尽管这允许您序列化类并将它们发送到客户机和服务器,但这似乎不是一个直观的场景。有人想将组件序列化到文件中的可能性更大,但可能性仍然很小。这将允许这种序列化 是否有更好的方

为什么Swing
JComponent
类实现了接口
Serializable
?按照我实现视图的方式,它们是无状态的,所有状态数据都存储在表示模型中。所以我不需要序列化我的视图。我使用了
@SuppressWarnings(“串行”)
注释来删除警告。有没有更好的方法去除它们

为什么Swing JComponent类实现了可序列化的接口

尽管这允许您序列化类并将它们发送到客户机和服务器,但这似乎不是一个直观的场景。有人想将组件序列化到文件中的可能性更大,但可能性仍然很小。这将允许这种序列化

是否有更好的方法删除[警告]


您可以实例化serialVersionUID,但如果这样做,则需要在类更改时维护它。这似乎太过分了。Laurence Gonsalves在他的评论中指出,另一种选择是在Preferences->Java->Compiler->Errors/warnings->Potential Programming Problems字段中完全抑制警告。
applet
标记甚至有一个属性可以从序列化表单加载(我不知道还有谁使用过这个属性,我只是恶意使用它)。不幸的是,为GUI使用序列化机制并不能真正起作用。Swing只保证在同一个主要版本中的兼容性(我猜即使这样也没有多少测试)。

太多的Java API部分实现了可序列化。就我个人而言,除非我真的在编写使用序列化的代码,否则我只会在build/IDE中关闭序列化警告。