如何在后续运行程序时保存并重新加载JTree?

时间:2012-06-15 08:27:50

标签: java swing jtree

我们为JTree编写了代码,我们可以动态添加和删除节点。

但是,我们无法保存树。每次运行程序时,我们都无法获取以前创建的树。

JTree如何保存和加载?

2 个答案:

答案 0 :(得分:2)

你可以Serialize/Deserialize你的JTree,这是一个例子:

   JTree tree=new JTree();

   ....

   //serialization
    try{
        FileOutputStream file= new FileOutputStream("/home/alain/Bureau/serialisation.txt");
        ObjectOutputStream out = new ObjectOutputStream(file);
        out.writeObject(tree);
    }
    catch(Exception e){}
    //Deserialization
    JTree tree2=null;
    try{
        FileInputStream file= new FileInputStream("/home/alain/Bureau/serialisation.txt");
        ObjectInputStream in = new ObjectInputStream(file);
        tree2 = (JTree) in.readObject();
    }
    catch(Exception e){}

请注意,transient字段不是可序列化的,因此您还应序列化您的TreeModel

答案 1 :(得分:-1)

您可以将树保存在文件中,并在每次启动应用程序时将其打开。您还可以尝试序列化和反序列化您的树。