日期:2014-05-18  浏览次数:20668 次

从一个有applet的页面链接到其它页面再返回来,如何能保持刚开始时在applet组件里输入的值?
我试过将里面组件所在的一个jpanel串行化到硬盘,
程序:
  ObjectOutputStream   os   =new   ObjectOutputStream(new   FileOutputStream( "c:/3.dat "));
os.writeObject(jPanel);
os.close();
不过报错:
java.io.NotSerializableException:   com.sun.java.swing.plaf.windows.WindowsComboBoxUI$1
at   java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054)
at   java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332)
at   java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:367)
at   java.awt.Container.writeObject(Container.java:2798)
at   sun.reflect.NativeMethodAccessorImpl.invoke0(Native   Method)
at   sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at   sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at   java.lang.reflect.Method.invoke(Method.java:324)
at   java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:809)
at   java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1296)
at   java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
at   java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
at   java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332)
at   java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:367)
at   javax.swing.JComponent$EnableSerializationFocusListener.writeObject(JComponent.java:4963)
at   sun.reflect.NativeMethodAccessorImpl.invoke0(Native   Method)
at   sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at   sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at   java.lang.reflect.Method.invoke(Method.java:324)
at   java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:809)
at   java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1296)
at   java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
at   java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
at   java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
at   java.awt.AWTEventMulticaster.saveInternal(AWTEventMulticaster.java:861)
at   java.awt.AWTEventMulticaster.saveInternal(AWTEventMulticaster.java:849)
at   java.awt.AWTEventMulticaster.saveInternal(AWTEventMulticaster.java:849)
at   java.awt.AWTEventMulticaster.save(AWTEventMulticaster.java:870)
at   java.awt.Component.writeObject(Component.java:6795)
at   sun.reflect.NativeMethodAccessorImpl.invoke0(Native   Method)
at   sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at   sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at   java.lang.reflect.Method.invoke(Method.java:324)
at   java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:809)
at   java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1296)
at   java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
at   java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
at   java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332)
at   java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1304)
at   j