我在netbean中用jframe制作了一个jbutton,我想在单击jbutton时序列化一个对象

错误:java.io.NotSerializableException:javax.swing.GroupLayout

我没有序列化任何布局,但是为什么会有这个错误?

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
getValue1 a =new getValue1();
a.name=jTextField1.getText();
a.ps=jTextField2.getText();
a.type=jComboBox1.getSelectedItem().toString();

try{
   FileOutputStream fileOut =new FileOutputStream("C:\\employee.ser");
   ObjectOutputStream out = new ObjectOutputStream(fileOut);
   out.writeObject(a);
   out.close();
   fileOut.close();
   System.out.printf("C:\\employee.ser");
}
catch(IOException i){
        i.printStackTrace();
    }
}

public class getValue1 implements java.io.Serializable{
    public String name;
    public String ps;
    public String type;
}

最佳答案

如果getValue1(这是一个不好的名称,类不是字段,名称看起来更像Value)是另一个类(它是一个内部类)的声明的一部分,则序列化程序还将尝试序列化父类。

您应该将类​​移至新的类声明。

09-12 04:57