新手在学习编程中。。。
现在在学习开发一个实用程序,用得是netbeans ide。
一开始直接使用了subclass of JFrame作为主界面, 以subclass (of JDialog) 作为
次界面来获得用户使用时的输入的状态信息。程序运行时,make a new instance of
the "subclass(of JDialog)", 获得用户输入的状态信息,然后用objectOutputStream
来save保存了这个instance。 再load这个object。
实践中,在load时获得了如下Exception: java.io.WriteAbortedException: writing
aborted; java.io.NotSerializableException: javax.swing.GroupLayout
请教了Google大师,得到的结论是,我不应该储存serialize GUI(包括他们的子类)
,而是应该用Java Preferences 或 Java properties来记录储存状态信息。然后load
使用时,再赋值到GUI 界面中。
我现在的理解是这样的,这些GUI程序提供的纯粹的是一个UI,实际的数据处理逻辑是
分开的(不是像我自己一开始想的那样直接用这些GUI的子类来实现数据处理逻辑)。
不知道这个想法对不对?
这个是不是就是Model View Controller 的最基本的应用啊?
另外,这种save/load功能实现是不是应该通用如下
save: 1)把GUI的状态信息储存 2)把用户信息储存
load: 1)make a new instance of GUI, 打开储存的GUI状态信息,赋值; 2) load
用户信息
敬请方家指教。谢谢。