java.io.NotSerializableException: java.lang.reflect.Construc



我想从我的JTable序列化一个模型,不幸的是我得到了一个NotSerializableException。我所有的领域都是Serializable,我不明白这里的问题在哪里。

public class Sauvegarde extends AbstractAction implements Serializable {
    private static final long serialVersionUID = 1L;
    public DefaultTableModel model;
    public Sauvegarde(String string) {
        super(string);
    }
    @Override
    public void actionPerformed(ActionEvent e) {
        sauve_actionPerformed(e);
        System.exit(0);
    }
    public void sauve_actionPerformed(ActionEvent e) {
        this.model = Grille.dfm;
        try {
            // Serialisation
            FileOutputStream fos = new FileOutputStream("sauve.tmp");
            ObjectOutputStream oos = new ObjectOutputStream(fos);
            oos.writeObject(model);
            oos.close();
        } catch (IOException e1) {
            e1.printStackTrace();
        }
    }
}

这是我创建JTable和模型的类:

    String[] columnTitles = { "A", "B", "C", "D", "E"};
    String[] cellulesVide = { "", "", "", "", ""};
    String[][] rowData = new String[nombreDeLignes][5];
    dfm = new DefaultTableModel(columnTitles,0);

    //table.setCellSelectionEnabled(true);

    for (int i = 0 ; i < nombreDeLignes ; i++)
    {   
        dfm.addRow(cellulesVide);
    }

    table = new JTable(dfm) {

没有魔法

你应该检查你的对象的层次结构中的所有类和它们的字段。所有字段和类都应该是可序列化的或基本的。

Parent可以是不可序列化的,但它必须有一个默认构造函数。

如果以上条件为真,它应该可以工作

在某个地方,您直接或间接拥有构造函数类型的非瞬态数据成员,如异常所述,该数据成员不可序列化。找到它,让它暂时消失,或者消除它。构造函数不可序列化

相关内容

  • 没有找到相关文章

最新更新