取出f层的DefaultMutableTreeNode node;
用node.add(new DefaultMutableTreeNode("你要的节点"));
这样就可以了
还可以用这方法,也是对node的。
insert(MutableTreeNode newChild, int childIndex)

解决方案 »

  1.   

    取出f层的DefaultMutableTreeNode node;
    ===========================================
    怎样取出f层的DefaultMutableTreeNode node?
      

  2.   

    楼主看一下这个程序就应该会了:
    /*
     * This code is based on an example provided by Richard Stanford, 
     * a tutorial reader.
     */import java.awt.BorderLayout;
    import java.awt.Dimension;
    import java.awt.GridLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.tree.DefaultMutableTreeNode;public class DynamicTreeDemo extends JPanel 
                                 implements ActionListener {
        private int newNodeSuffix = 1;
        private static String ADD_COMMAND = "add";
        private static String REMOVE_COMMAND = "remove";
        private static String CLEAR_COMMAND = "clear";
        
        private DynamicTree treePanel;    public DynamicTreeDemo() {
            super(new BorderLayout());
            
            //Create the components.
            treePanel = new DynamicTree();
            populateTree(treePanel);        JButton addButton = new JButton("Add");
            addButton.setActionCommand(ADD_COMMAND);
            addButton.addActionListener(this);
            
            JButton removeButton = new JButton("Remove");
            removeButton.setActionCommand(REMOVE_COMMAND);
            removeButton.addActionListener(this);
            
            JButton clearButton = new JButton("Clear");
            clearButton.setActionCommand(CLEAR_COMMAND);
            clearButton.addActionListener(this);        //Lay everything out.
            treePanel.setPreferredSize(new Dimension(300, 150));
            add(treePanel, BorderLayout.CENTER);        JPanel panel = new JPanel(new GridLayout(0,1));
            panel.add(addButton);
            panel.add(removeButton);
            panel.add(clearButton);
            add(panel, BorderLayout.LINE_END);
        }    public void populateTree(DynamicTree treePanel) {
            String p1Name = new String("Parent 1");
            String p2Name = new String("Parent 2");
            String c1Name = new String("Child 1");
            String c2Name = new String("Child 2");        DefaultMutableTreeNode p1, p2;        p1 = treePanel.addObject(null, p1Name);
            p2 = treePanel.addObject(null, p2Name);        treePanel.addObject(p1, c1Name);
            treePanel.addObject(p1, c2Name);        treePanel.addObject(p2, c1Name);
            treePanel.addObject(p2, c2Name);
        }
        
        public void actionPerformed(ActionEvent e) {
            String command = e.getActionCommand();
            
            if (ADD_COMMAND.equals(command)) {
                //Add button clicked
                treePanel.addObject("New Node " + newNodeSuffix++);
            } else if (REMOVE_COMMAND.equals(command)) {
                //Remove button clicked
                treePanel.removeCurrentNode();
            } else if (CLEAR_COMMAND.equals(command)) {
                //Clear button clicked.
                treePanel.clear();
            }
        }    /**
         * Create the GUI and show it.  For thread safety,
         * this method should be invoked from the
         * event-dispatching thread.
         */
        private static void createAndShowGUI() {
            //Make sure we have nice window decorations.
            JFrame.setDefaultLookAndFeelDecorated(true);        //Create and set up the window.
            JFrame frame = new JFrame("DynamicTreeDemo");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        //Create and set up the content pane.
            DynamicTreeDemo newContentPane = new DynamicTreeDemo();
            newContentPane.setOpaque(true); //content panes must be opaque
            frame.setContentPane(newContentPane);        //Display the window.
            frame.pack();
            frame.setVisible(true);
        }    public static void main(String[] args) {
            //Schedule a job for the event-dispatching thread:
            //creating and showing this application's GUI.
            javax.swing.SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    createAndShowGUI();
                }
            });
        }
    }