Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4396768

javax.swing.JPopupMenu$ActionChangedListener is not Serializable

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • 1.4.0
    • 1.3.0
    • client-libs
    • beta
    • generic
    • generic



      Name: krC82822 Date: 12/10/2000


      10 Dec 2000, eval1127@eng -- works under 1.2.2, but not under 1.3.
      -----------
      java version "1.3.0"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0)
      Java HotSpot(TM) Client VM (build 1.3.0, mixed mode)

      Please run the following, and admire the stacktrace.

      import java.io.*;
      import javax.swing.*;
      import java.awt.event.*;

      public class SerializeBug {
      public static void main(String[] args) {

           JPopupMenu context = new JPopupMenu();

      class RubMenu extends AbstractAction {
      public RubMenu(String s) {
           super(s);
      }
      public void actionPerformed(ActionEvent e) {
      }
      }
      context.add(new RubMenu("a"));
      try {
      ObjectOutputStream oos = new ObjectOutputStream(
      new FileOutputStream("/tmp/scratch")
      );
      oos.writeObject(context);
      oos.close();
      } catch( Exception e) {
      e.printStackTrace();
      System.exit(1);
      }
      }
      }


      ------------

      java.io.NotSerializableException: javax.swing.JPopupMenu$ActionChangedListener
              at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1148)
              at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)
              at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1841)
              at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:480)
              at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1214)
              at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)
              at java.io.ObjectOutputStream.outputArray(ObjectOutputStream.java:1098)
              at java.io.ObjectOutputStream.checkSubstitutableSpecialClasses(ObjectOutputStream.java:456)
              at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:361)
              at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1841)
              at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:480)
              at java.awt.Container.writeObject(Container.java:1767)
              at java.lang.reflect.Method.invoke(Native Method)
              at java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1878)
              at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1210)
              at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)
              at SerializeBug110811.main(SerializeBug110811.java:43)

      (Review ID: 110811)
      ======================================================================

            mdavidsosunw Mark Davidson (Inactive)
            kryansunw Kevin Ryan (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: