你肯定是在添加了mouseclick事件和ValueChanged事件之后,
又重新new JTree();

解决方案 »

  1.   

    没有NEW JTREE()
    这个NEW JTREE()要加在这两个事件里吗??
      

  2.   

    不是加在里面,而应该是new JTree();
    再添加了mouseclick事件和ValueChanged事件,如果你用jbuilder的话非常
    可能是这样,不信你去查看代码。
      

  3.   

    我得代码是这样的
    package mtreetest;import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.border.*;
    import javax.swing.tree.*;
    import javax.swing.event.*;public class Frame1 extends JFrame {
      private JPanel contentPane;
      private JMenuBar jMenuBar1 = new JMenuBar();
      private JMenu jMenuFile = new JMenu();
      private JMenu jMenuHelp = new JMenu();
      private JMenuItem jMenuHelpAbout = new JMenuItem();
      private JToolBar jToolBar = new JToolBar();
      private JButton jButton1 = new JButton();
      private JButton jButton2 = new JButton();
      private JButton jButton3 = new JButton();
      private ImageIcon image1;
      private ImageIcon image2;
      private ImageIcon image3;
      private JLabel statusBar = new JLabel();
      private BorderLayout borderLayout1 = new BorderLayout();
      private JMenuItem jMenuItem1 = new JMenuItem();
      private JMenuItem jMenuItem2 = new JMenuItem();
      private JMenuItem jMenuItem3 = new JMenuItem();
      private JMenu jMenu1 = new JMenu();
      private JMenu jMenu2 = new JMenu();
      private JMenu jMenu3 = new JMenu();
      private JMenu jMenu4 = new JMenu();
      private JMenuItem jMenuItem4 = new JMenuItem();
      private JMenuItem jMenuItem5 = new JMenuItem();
      private JMenuItem jMenuItem6 = new JMenuItem();
      private JMenuItem jMenuItem7 = new JMenuItem();
      private JMenuItem jMenuItem8 = new JMenuItem();
      private JMenuItem jMenuItem9 = new JMenuItem();
      private JMenuItem jMenuItem10 = new JMenuItem();
      private JMenuItem jMenuItem11 = new JMenuItem();
      private JMenuItem jMenuItem12 = new JMenuItem();
      private JSplitPane jSplitPane1 = new JSplitPane();
      private JTree jTree1 = new JTree();
      private TitledBorder titledBorder1;
      private JTextArea jTextArea1 = new JTextArea();  //Construct the frame
      public Frame1() {
        enableEvents(AWTEvent.WINDOW_EVENT_MASK);
        try {
          jbInit();
        }
        catch(Exception e) {
          e.printStackTrace();
        }
      }
      //Component initialization
      private void jbInit() throws Exception  {
        image1 = new ImageIcon(mtreetest.Frame1.class.getResource("openFile.gif"));
        image2 = new ImageIcon(mtreetest.Frame1.class.getResource("closeFile.gif"));
        image3 = new ImageIcon(mtreetest.Frame1.class.getResource("help.gif"));
        //setIconImage(Toolkit.getDefaultToolkit().createImage(Frame1.class.getResource("[Your Icon]")));
        contentPane = (JPanel) this.getContentPane();
        titledBorder1 = new TitledBorder("");
        contentPane.setLayout(borderLayout1);
        this.setSize(new Dimension(460, 403));
        this.setTitle("Frame Title");
        statusBar.setText(" ");
        jMenuFile.setText("数据库");
        jMenuHelp.setText("Help");
        jMenuHelpAbout.setText("About");
        DefaultMutableTreeNode root=new DefaultMutableTreeNode("常规树");//树的根节点。
       DefaultMutableTreeNode t1=new DefaultMutableTreeNode("大型厂");//节点。
       DefaultMutableTreeNode t2=new DefaultMutableTreeNode("烧结厂");//节点。
       DefaultMutableTreeNode t1_1=new DefaultMutableTreeNode("高线一车间");
       DefaultMutableTreeNode t1_2=new DefaultMutableTreeNode("高线二车间");
       DefaultMutableTreeNode t2_1=new DefaultMutableTreeNode("第二烧结厂");
       DefaultMutableTreeNode t2_2=new DefaultMutableTreeNode("第一烧结厂");
       jTextArea1.setText("ooo");
        jTextArea1.addMouseListener(new java.awt.event.MouseAdapter() {
          public void mouseClicked(MouseEvent e) {
            jTextArea1_mouseClicked(e);
          }
        });
        jTree1.addMouseListener(new java.awt.event.MouseAdapter() {
          public void mouseClicked(MouseEvent e) {
            jTree1_mouseClicked(e);
          }
        });
        jTree1.setMaximumSize(new Dimension(61, 30));
        jTree1.addTreeSelectionListener(new javax.swing.event.TreeSelectionListener() {
          public void valueChanged(TreeSelectionEvent e) {
            jTree1_valueChanged(e);
          }
        });
        root.add(t1);root.add(t2);
       t1.add(t1_1);t1.add(t1_2);
       t2.add(t2_1);t2.add(t2_2);
       JTree jTree1 =new JTree(root); //创建根为root的树。
        jMenuHelpAbout.addActionListener(new ActionListener()  {
          public void actionPerformed(ActionEvent e) {
            jMenuHelpAbout_actionPerformed(e);
          }
        });
        jButton1.setIcon(image1);
        jButton1.setToolTipText("Open File");
        jButton2.setIcon(image2);
        jButton2.setToolTipText("Close File");
        jButton3.setIcon(image3);
        jButton3.setToolTipText("Help");
        jMenuItem1.setText("退出");
        jMenuItem2.setText("打开");
        jMenuItem3.setText("关闭");
        jMenu1.setText("视图");
        jMenuItem7.setText("常规树");
        jMenuItem6.setText("报警树");
        jMenuItem5.setText("查询树条件设置");
        jMenuItem4.setText("树结构显示设置");
        jMenuItem8.setText("刷新");
        jMenu2.setText("数据分析");
        jMenuItem12.setText("测点状态");
        jMenuItem11.setText("时域波形");
        jMenuItem10.setText("频谱分析");
        jTree1.setBorder(BorderFactory.createLineBorder(Color.black));
        jToolBar.add(jButton1);
        jToolBar.add(jButton2);
        jToolBar.add(jButton3);
        jMenuFile.add(jMenuItem2);
        jMenuFile.add(jMenuItem3);
        jMenuFile.addSeparator();
        jMenuFile.add(jMenuItem1);
        jMenuHelp.add(jMenuHelpAbout);
        jMenuBar1.add(jMenuFile);
        jMenuBar1.add(jMenu1);
        jMenuBar1.add(jMenu2);
        jMenuBar1.add(jMenu3);
        jMenuBar1.add(jMenu4);
        jMenuBar1.add(jMenuHelp);
        this.setJMenuBar(jMenuBar1);
        contentPane.add(jToolBar, BorderLayout.NORTH);
        contentPane.add(statusBar, BorderLayout.SOUTH);
        contentPane.add(jSplitPane1, BorderLayout.CENTER);
        jSplitPane1.add(jTree1, JSplitPane.LEFT);
        jSplitPane1.add(jTextArea1, JSplitPane.RIGHT);
        jMenu1.add(jMenuItem7);
        jMenu1.add(jMenuItem6);
        jMenu1.addSeparator();
        jMenu1.add(jMenuItem5);
        jMenu1.add(jMenuItem4);
        jMenu1.addSeparator();
        jMenu1.add(jMenuItem8);
        jMenu2.add(jMenuItem12);
        jMenu2.add(jMenuItem11);
        jMenu2.add(jMenuItem10);
        jMenu2.add(jMenuItem9);
      }
      //File | Exit action performed
      public void jMenuFileExit_actionPerformed(ActionEvent e) {
        System.exit(0);
      }
      //Help | About action performed
      public void jMenuHelpAbout_actionPerformed(ActionEvent e) {
        Frame1_AboutBox dlg = new Frame1_AboutBox(this);
        Dimension dlgSize = dlg.getPreferredSize();
        Dimension frmSize = getSize();
        Point loc = getLocation();
        dlg.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x, (frmSize.height - dlgSize.height) / 2 + loc.y);
        dlg.setModal(true);
        dlg.pack();
        dlg.show();
      }
      //Overridden so we can exit when window is closed
      protected void processWindowEvent(WindowEvent e) {
        super.processWindowEvent(e);
        if (e.getID() == WindowEvent.WINDOW_CLOSING) {
          jMenuFileExit_actionPerformed(null);
        }
      }  void jTree1_mouseClicked(MouseEvent e) {
        jTextArea1.setText("jjj");
        if(jTree1.getSelectionCount()==1){
          jTextArea1.setText("大型厂");
        }
      }
      void jTree1_valueChanged(TreeSelectionEvent e) {
       jTextArea1.setText("jjj");
      }  void jTextArea1_mouseClicked(MouseEvent e) {
        jTextArea1.setText("jjj");
      }
    }