-
Bug
-
Resolution: Fixed
-
P3
-
1.3.0
-
kestrel
-
x86, sparc
-
solaris_7, windows_nt
-
Not verified
chEvent(EventQueue.java:302)
at java.awt.EventDispatchThread.pumpOneEvent(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:95)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:86)
(Review ID: 96036)
======================================================================
Name: skT88420 Date: 10/01/99
I use an javax.swing.ImageIcon in a RMI Application and a exception is thrown:
java.io.NotSerializableException: javax.swing.ImageIcon$AccessibleImageIcon
java.rmi.MarshalException: error marshalling arguments; nested exception is:
java.io.NotSerializableException: javax.swing.ImageIcon$AccessibleImageIcon
java.io.NotSerializableException: javax.swing.ImageIcon$AccessibleImageIcon
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1123)
The exception is not thrown in 1.2.2 !
Conf:
NT4/Sp5(german) Intel Celeron 300A
128MB RAM
(Review ID: 96041)
======================================================================
Name: rlT66838 Date: 10/01/99
javax.swing.ImageIcon$AccessibleImageIcon not serializable
Bug is not fixed. In Kestrel build I.
The test case listed below as well as the test case
in the original bug report will show that it is not fixed.
Test case
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class SerializationTest extends JFrame implements ActionListener
{
/**
* The ContentPane of the frame.
*/
protected JPanel panel = null;
/**
* A Button, when pressed, The Color Chooser dialog will be invoked.
*/
protected JButton colorButton = null;
/**
* A Button object, when pressed the ContentPane (panel) will be saved to a file
* called "searialization.ser" in the user.dir directory.
*/
protected JButton saveButton = null;
public SerializationTest()
{
super("Serialization Test");
panel = new JPanel();
setContentPane(panel);
//A dd a Window Listener to handle the closing operation.
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent evt)
{
dispose();
System.exit(0);
}
});
getContentPane().setLayout(new FlowLayout());
colorButton = new JButton("Change Color");
colorButton.addActionListener(this);
getContentPane().add(colorButton);
saveButton = new JButton("Save Panel");
saveButton.addActionListener(this);
getContentPane().add(saveButton);
setSize(400, 400);
setVisible(true);
}
public void actionPerformed(ActionEvent evt)
{
//If the "Change Color" Button is pressed do the following action.
if(evt.getSource() == colorButton)
{
panel.setBackground(JColorChooser.showDialog(this, "COLOR", panel.getBackground()));
}
//If the Save button is prssed.
else if(evt.getSource() == saveButton)
{
try
{
FileOutputStream fout = new FileOutputStream("serialization.ser");
ObjectOutputStream out = new ObjectOutputStream(fout);
//Component [] comps = panel.getComponents();
//for(int i = 0; i < comps.length; i ++)
//System.out.println(comps[i] + "\n ****");
out.writeObject(panel);
out.close();
fout.close();
}
catch(IOException exp)
{
System.out.println(exp.getMessage());
exp.printStackTrace();
}
}
}
public static void main(String args[])
{
new SerializationTest();
}
}
Output:
> use13l
java version "1.3.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0-I)
Java HotSpot (TM) Client VM (build 1.3-I, interpreted mode)
> java SerializationTest
javax.swing.ImageIcon$AccessibleImageIcon
java.io.NotSerializableException: javax.swing.ImageIcon$AccessibleImageIcon
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1123)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:361)
at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1773)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:472)
at javax.swing.JLabel.writeObject(JLabel.java:800)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1810)
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1185)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:361)
at java.io.ObjectOutputStream.outputArray(ObjectOutputStream.java:1073)
at java.io.ObjectOutputStream.checkSubstitutableSpecialClasses(ObjectOutputStream.java:451)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:356)
at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1773)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:472)
at java.awt.Container.writeObject(Container.java:1857)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1810)
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1185)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:361)
at java.io.ObjectOutputStream.outputArray(ObjectOutputStream.java:1073)
at java.io.ObjectOutputStream.checkSubstitutableSpecialClasses(ObjectOutputStream.java:451)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:356)
at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1773)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:472)
at java.awt.Container.writeObject(Container.java:1857)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1810)
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1185)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:361)
at java.io.ObjectOutputStream.outputArray(ObjectOutputStream.java:1073)
at java.io.ObjectOutputStream.checkSubstitutableSpecialClasses(ObjectOutputStream.java:451)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:356)
at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1773)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:472)
at java.awt.Container.writeObject(Container.java:1857)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1810)
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1185)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:361)
at java.io.ObjectOutputStream.outputArray(ObjectOutputStream.java:1073)
at java.io.ObjectOutputStream.checkSubstitutableSpecialClasses(ObjectOutputStream.java:451)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:356)
at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1773)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:472)
at java.awt.Container.writeObject(Container.java:1857)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1810)
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1185)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:361)
at java.io.ObjectOutputStream.outputArray(ObjectOutputStream.java:1073)
at java.io.ObjectOutputStream.checkSubstitutableSpecialClasses(ObjectOutputStream.java:451)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:356)
at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1773)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:472)
at java.awt.Container.writeObject(Container.java:1857)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1810)
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1185)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:361)
at java.io.ObjectOutputStream.outputArray(ObjectOutputStream.java:1073)
at java.io.ObjectOutputStream.checkSubstitutableSpecialClasses(ObjectOutputStream.java:451)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:356)
at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1773)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:472)
at java.awt.Container.writeObject(Container.java:1857)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1810)
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1185)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:361)
at java.io.ObjectOutputStream.outputArray(ObjectOutputStream.java:1073)
at java.io.ObjectOutputStream.checkSubstitutableSpecialClasses(ObjectOutputStream.java:451)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:356)
at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1773)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:472)
at java.awt.Container.writeObject(Container.java:1857)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1810)
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1185)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:361)
at java.io.ObjectOutputStream.outputArray(ObjectOutputStream.java:1073)
at java.io.ObjectOutputStream.checkSubstitutableSpecialClasses(ObjectOutputStream.java:451)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:356)
at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1773)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:472)
at java.awt.Container.writeObject(Container.java:1857)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1810)
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1185)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:361)
at java.io.ObjectOutputStream.outputArray(ObjectOutputStream.java:1073)
at java.io.ObjectOutputStream.checkSubstitutableSpecialClasses(ObjectOutputStream.java:451)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:356)
at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1773)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:472)
at java.awt.Container.writeObject(Container.java:1857)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1810)
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1185)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:361)
at java.awt.Window.writeObject(Window.java:976)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1810)
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1185)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:361)
at javax.swing.event.EventListenerList.writeObject(EventListenerList.java:239)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1810)
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1185)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:361)
at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1773)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:472)
at javax.swing.JComponent.writeObject(JComponent.java:4556)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1810)
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1185)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:361)
at java.io.ObjectOutputStream.outputArray(ObjectOutputStream.java:1073)
at java.io.ObjectOutputStream.checkSubstitutableSpecialClasses(ObjectOutputStream.java:451)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:356)
at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1773)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:472)
at java.awt.Container.writeObject(Container.java:1857)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1810)
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1185)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:361)
at SerializationTest.actionPerformed(SerializationTest.java:79)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1230)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1265)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:378)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:250)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:238)
at java.awt.Component.processMouseEvent(Component.java:3612)
at java.awt.Component.processEvent(Component.java:3441)
at java.awt.Container.processEvent(Container.java:1253)
at java.awt.Component.dispatchEventImpl(Component.java:2529)
at java.awt.Container.dispatchEventImpl(Container.java:1302)
at java.awt.Component.dispatchEvent(Component.java:2443)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2504)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2288)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2191)
at java.awt.Container.dispatchEventImpl(Container.java:1289)
at java.awt.Window.dispatchEventImpl(Window.java:854)
at java.awt.Component.dispatchEvent(Component.java:2443)
at java.awt.EventQueue.dispat
at java.awt.EventDispatchThread.pumpOneEvent(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:95)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:86)
(Review ID: 96036)
======================================================================
Name: skT88420 Date: 10/01/99
I use an javax.swing.ImageIcon in a RMI Application and a exception is thrown:
java.io.NotSerializableException: javax.swing.ImageIcon$AccessibleImageIcon
java.rmi.MarshalException: error marshalling arguments; nested exception is:
java.io.NotSerializableException: javax.swing.ImageIcon$AccessibleImageIcon
java.io.NotSerializableException: javax.swing.ImageIcon$AccessibleImageIcon
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1123)
The exception is not thrown in 1.2.2 !
Conf:
NT4/Sp5(german) Intel Celeron 300A
128MB RAM
(Review ID: 96041)
======================================================================
Name: rlT66838 Date: 10/01/99
javax.swing.ImageIcon$AccessibleImageIcon not serializable
Bug is not fixed. In Kestrel build I.
The test case listed below as well as the test case
in the original bug report will show that it is not fixed.
Test case
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class SerializationTest extends JFrame implements ActionListener
{
/**
* The ContentPane of the frame.
*/
protected JPanel panel = null;
/**
* A Button, when pressed, The Color Chooser dialog will be invoked.
*/
protected JButton colorButton = null;
/**
* A Button object, when pressed the ContentPane (panel) will be saved to a file
* called "searialization.ser" in the user.dir directory.
*/
protected JButton saveButton = null;
public SerializationTest()
{
super("Serialization Test");
panel = new JPanel();
setContentPane(panel);
//A dd a Window Listener to handle the closing operation.
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent evt)
{
dispose();
System.exit(0);
}
});
getContentPane().setLayout(new FlowLayout());
colorButton = new JButton("Change Color");
colorButton.addActionListener(this);
getContentPane().add(colorButton);
saveButton = new JButton("Save Panel");
saveButton.addActionListener(this);
getContentPane().add(saveButton);
setSize(400, 400);
setVisible(true);
}
public void actionPerformed(ActionEvent evt)
{
//If the "Change Color" Button is pressed do the following action.
if(evt.getSource() == colorButton)
{
panel.setBackground(JColorChooser.showDialog(this, "COLOR", panel.getBackground()));
}
//If the Save button is prssed.
else if(evt.getSource() == saveButton)
{
try
{
FileOutputStream fout = new FileOutputStream("serialization.ser");
ObjectOutputStream out = new ObjectOutputStream(fout);
//Component [] comps = panel.getComponents();
//for(int i = 0; i < comps.length; i ++)
//System.out.println(comps[i] + "\n ****");
out.writeObject(panel);
out.close();
fout.close();
}
catch(IOException exp)
{
System.out.println(exp.getMessage());
exp.printStackTrace();
}
}
}
public static void main(String args[])
{
new SerializationTest();
}
}
Output:
> use13l
java version "1.3.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0-I)
Java HotSpot (TM) Client VM (build 1.3-I, interpreted mode)
> java SerializationTest
javax.swing.ImageIcon$AccessibleImageIcon
java.io.NotSerializableException: javax.swing.ImageIcon$AccessibleImageIcon
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1123)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:361)
at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1773)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:472)
at javax.swing.JLabel.writeObject(JLabel.java:800)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1810)
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1185)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:361)
at java.io.ObjectOutputStream.outputArray(ObjectOutputStream.java:1073)
at java.io.ObjectOutputStream.checkSubstitutableSpecialClasses(ObjectOutputStream.java:451)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:356)
at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1773)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:472)
at java.awt.Container.writeObject(Container.java:1857)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1810)
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1185)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:361)
at java.io.ObjectOutputStream.outputArray(ObjectOutputStream.java:1073)
at java.io.ObjectOutputStream.checkSubstitutableSpecialClasses(ObjectOutputStream.java:451)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:356)
at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1773)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:472)
at java.awt.Container.writeObject(Container.java:1857)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1810)
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1185)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:361)
at java.io.ObjectOutputStream.outputArray(ObjectOutputStream.java:1073)
at java.io.ObjectOutputStream.checkSubstitutableSpecialClasses(ObjectOutputStream.java:451)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:356)
at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1773)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:472)
at java.awt.Container.writeObject(Container.java:1857)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1810)
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1185)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:361)
at java.io.ObjectOutputStream.outputArray(ObjectOutputStream.java:1073)
at java.io.ObjectOutputStream.checkSubstitutableSpecialClasses(ObjectOutputStream.java:451)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:356)
at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1773)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:472)
at java.awt.Container.writeObject(Container.java:1857)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1810)
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1185)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:361)
at java.io.ObjectOutputStream.outputArray(ObjectOutputStream.java:1073)
at java.io.ObjectOutputStream.checkSubstitutableSpecialClasses(ObjectOutputStream.java:451)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:356)
at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1773)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:472)
at java.awt.Container.writeObject(Container.java:1857)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1810)
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1185)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:361)
at java.io.ObjectOutputStream.outputArray(ObjectOutputStream.java:1073)
at java.io.ObjectOutputStream.checkSubstitutableSpecialClasses(ObjectOutputStream.java:451)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:356)
at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1773)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:472)
at java.awt.Container.writeObject(Container.java:1857)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1810)
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1185)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:361)
at java.io.ObjectOutputStream.outputArray(ObjectOutputStream.java:1073)
at java.io.ObjectOutputStream.checkSubstitutableSpecialClasses(ObjectOutputStream.java:451)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:356)
at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1773)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:472)
at java.awt.Container.writeObject(Container.java:1857)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1810)
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1185)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:361)
at java.io.ObjectOutputStream.outputArray(ObjectOutputStream.java:1073)
at java.io.ObjectOutputStream.checkSubstitutableSpecialClasses(ObjectOutputStream.java:451)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:356)
at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1773)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:472)
at java.awt.Container.writeObject(Container.java:1857)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1810)
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1185)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:361)
at java.io.ObjectOutputStream.outputArray(ObjectOutputStream.java:1073)
at java.io.ObjectOutputStream.checkSubstitutableSpecialClasses(ObjectOutputStream.java:451)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:356)
at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1773)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:472)
at java.awt.Container.writeObject(Container.java:1857)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1810)
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1185)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:361)
at java.awt.Window.writeObject(Window.java:976)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1810)
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1185)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:361)
at javax.swing.event.EventListenerList.writeObject(EventListenerList.java:239)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1810)
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1185)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:361)
at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1773)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:472)
at javax.swing.JComponent.writeObject(JComponent.java:4556)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1810)
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1185)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:361)
at java.io.ObjectOutputStream.outputArray(ObjectOutputStream.java:1073)
at java.io.ObjectOutputStream.checkSubstitutableSpecialClasses(ObjectOutputStream.java:451)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:356)
at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1773)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:472)
at java.awt.Container.writeObject(Container.java:1857)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1810)
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1185)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:361)
at SerializationTest.actionPerformed(SerializationTest.java:79)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1230)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1265)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:378)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:250)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:238)
at java.awt.Component.processMouseEvent(Component.java:3612)
at java.awt.Component.processEvent(Component.java:3441)
at java.awt.Container.processEvent(Container.java:1253)
at java.awt.Component.dispatchEventImpl(Component.java:2529)
at java.awt.Container.dispatchEventImpl(Container.java:1302)
at java.awt.Component.dispatchEvent(Component.java:2443)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2504)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2288)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2191)
at java.awt.Container.dispatchEventImpl(Container.java:1289)
at java.awt.Window.dispatchEventImpl(Window.java:854)
at java.awt.Component.dispatchEvent(Component.java:2443)
at java.awt.EventQueue.dispat