DefaultMutableTreeNode month[]=new DefaultMutableTreeNode[13];
  Remember()
  {Container con=getContentPane();
   DefaultMutableTreeNode root=new DefaultMutableTreeNode("日历记事本");
   for(i=1;i<=12;i++)
    {month[i]=new DefaultMutableTreeNode(""+i+"月");
     root.add(month[i]); 
    }
--------------这样写

解决方案 »

  1.   

    我刚写了一个例程,贴给你吧
    //------2002.11.27----//
    //监听器的用法
    //JTree控件的用法import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.tree.*;
    import javax.swing.event.*;public class TreeDemo
    {
    JTree jTree;
    DefaultMutableTreeNode currTreeNode = null;
    JTextField txtField;

    //主方法
    public static void main(String args[])
    {
    //建立类的对象
    TreeDemo mainFrame=new TreeDemo();

    //调用类的方法进行初始化
    try
    {
    mainFrame.mainFrameInit();
    }
    catch(Exception e)
    {
    System.out.println("不能初始化窗口");
    }
    } //构造初始化窗口
    public void mainFrameInit() throws Exception
    {
    //建立主窗口框架
    JFrame jFrame;
    jFrame=new JFrame("Swing控件测试程序");

    //创建布局管理器对象
    GridBagLayout myLayout;
    myLayout=new GridBagLayout(); //设置窗口的布局管理器
    jFrame.getContentPane().setLayout(myLayout);
    jFrame.setDefaultCloseOperation(jFrame.EXIT_ON_CLOSE); //建立JButton对象
    JButton btnAdd=new JButton("增加");
    JButton btnEdit=new JButton("修改");
    JButton btnDel=new JButton("删除");
    JButton btnExit=new JButton("退出"); //加入JButton对象
    jFrame.getContentPane().add(btnAdd,new GridBagConstraints(1,1,1,1,0.0,0.0,
    GridBagConstraints.CENTER,GridBagConstraints.BOTH,new Insets(2,10,2,10),2,2));//增加
    btnAdd.addActionListener(new AddItem()); jFrame.getContentPane().add(btnEdit,new GridBagConstraints(5,2,1,1,0.0,0.0,
    GridBagConstraints.CENTER,GridBagConstraints.BOTH,new Insets(2,10,2,10),2,2));//修改
    btnEdit.addActionListener(new EditItem()); jFrame.getContentPane().add(btnDel,new GridBagConstraints(2,1,1,1,0.0,0.0,
    GridBagConstraints.CENTER,GridBagConstraints.BOTH,new Insets(2,10,2,10),2,2));//删除
    btnDel.addActionListener(new DelItem()); jFrame.getContentPane().add(btnExit,new GridBagConstraints(3,1,1,1,0.0,0.0,
    GridBagConstraints.CENTER,GridBagConstraints.BOTH,new Insets(2,10,2,10),2,2));//退出
    btnExit.addActionListener(new ExitMain());

    //重命名标签
    JLabel labEdit=new JLabel("请填入新的节点名称:");
    jFrame.getContentPane().add(labEdit,new GridBagConstraints(1,2,2,1,0.0,0.0,
    GridBagConstraints.CENTER,GridBagConstraints.BOTH,new Insets(2,10,2,10),2,2)); //新名称输入框
    txtField=new JTextField();
    jFrame.getContentPane().add(txtField,new GridBagConstraints(3,2,2,1,1.0,0.0,
    GridBagConstraints.CENTER,GridBagConstraints.BOTH,new Insets(2,10,2,10),2,2)); //建立树的根节点
    DefaultMutableTreeNode top=new DefaultMutableTreeNode("根节点"); //建立树的第一分支
    DefaultMutableTreeNode a=new DefaultMutableTreeNode("分支一");
    top.add(a);
    DefaultMutableTreeNode a1=new DefaultMutableTreeNode("分支一节点一");
    a.add(a1);
    DefaultMutableTreeNode a2=new DefaultMutableTreeNode("分支一节点二");
    a.add(a2); //建立树的第二分支
    DefaultMutableTreeNode b=new DefaultMutableTreeNode("分支二");
    top.add(b);
    DefaultMutableTreeNode b1=new DefaultMutableTreeNode("分支二节点一");
    b.add(b1);
    DefaultMutableTreeNode b2=new DefaultMutableTreeNode("分支二节点二");
    b.add(b2);

    //建立JTree对象
    jTree=new JTree(top);
    //加入JTree对象
    JScrollPane jScrollPane=new JScrollPane(jTree,ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
    ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED); jFrame.getContentPane().add(jScrollPane, new GridBagConstraints(1, 3, 10, 1, 1.0, 1.0,
    GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(2, 2, 2, 2), 2, 2));
    jTree.addTreeSelectionListener(new SelItem()); //设定窗口的宽度和高度
    jFrame.setSize(600,480);

    //显示窗口
    jFrame.setVisible(true);
    } class ExitMain implements ActionListener
    {
    public void actionPerformed(ActionEvent e)
    {
    //执行退出程序的动作
    System.exit(0);
    }
    } class AddItem implements ActionListener
    {
    public void actionPerformed(ActionEvent e)
    {
    //执行增加节点的动作
    DefaultMutableTreeNode newNode = new DefaultMutableTreeNode("新增节点");
    currTreeNode.add(newNode);
    DefaultTreeModel model = (DefaultTreeModel)jTree.getModel();
    model.nodeStructureChanged(currTreeNode);
    }
    } class EditItem implements ActionListener
    {
    public void actionPerformed(ActionEvent e)
    {
    //执行重命名的动作
    currTreeNode.setUserObject(txtField.getText());
    DefaultTreeModel model = (DefaultTreeModel)jTree.getModel();
    model.nodeChanged(currTreeNode);
    }
    } class DelItem implements ActionListener
    {
    public void actionPerformed(ActionEvent e)
    {
    //执行删除节点的动作
    DefaultTreeModel model = (DefaultTreeModel)jTree.getModel();
    model.removeNodeFromParent(currTreeNode);
    }
    } class SelItem implements TreeSelectionListener
    {
    public void valueChanged(TreeSelectionEvent e)
    {
    currTreeNode = (DefaultMutableTreeNode) jTree.getLastSelectedPathComponent();
    }
    }
    }