Java:读取Serialized对象的最佳方法是什么?

Ste*_*aul 0 java swing serializable

如果我重复一个问题,我会提前道歉.如果我是,请转发给相关的帖子.

我有一个JPanel,上面有很多组件.然后将其放置在JFrame上.我想让用户有机会保存他们当前的会话(即序列化JPanel,其子组件值保持不变).然后,用户应该有机会加载前一个会话(基本上是JPanel,其中包含已保存的combox和文本字段条目选择).

我的问题涉及从文件中读取JPanel对象.一旦我从文件中读取JPanel,我是否必须阅读其每个文本字段和组合框,或者我可以简单地用保存的JPanel替换我的JPanel吗?据我所知,唯一的方法是用保存的面板替换当前面板,如下所示:

  • 1:MyPanel savedPanel =(MyPanel)objectInputStream.readObject();
  • 2:删除(currentPanel);
  • 3:添加(savedPanel);
  • 4:validate();

这有什么可以实现我想要的吗?

谢谢.

use*_*421 5

反序列化会恢复已保存的对象图.但是请参阅Javadoc:建议不要序列化Swing对象.你可能会调查一下java.beans.XMLEncoder.