我没优化代码,看看是不是符合你的意思
import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.util.Enumeration;public class TreeSave extends JFrame {
    JTree tree;
    DefaultMutableTreeNode root;    public TreeSave() {
        super();
        setSize(300, 200);
        root = new DefaultMutableTreeNode("root");
        DefaultMutableTreeNode root1 = new DefaultMutableTreeNode("rot");
        DefaultMutableTreeNode root2 = new DefaultMutableTreeNode("rt");
        root.add(root1);
        root1.add(root2);
        tree = new JTree(root);
        ActionListener action = new ActionListener() {
            public void actionPerformed(ActionEvent ea) {
                Enumeration e = root.breadthFirstEnumeration();
                while (e.hasMoreElements()) {
                    DefaultMutableTreeNode node = (DefaultMutableTreeNode) e.nextElement();
                    if (node.getUserObject().equals("rt")) {//在这里你可以根据需要进行判断并保存
                        System.out.println("接点rt");
                    }
                }            }
        };
        JButton button = new JButton("save");
        button.addActionListener(action);
        getContentPane().add(button, BorderLayout.NORTH);
        getContentPane().add(tree, BorderLayout.CENTER);
        setVisible(true);    }    public static void main(String args[]) {
        TreeSave ts = new TreeSave();
    }
}