static String [] p=new String[10];
  int i0=1;
  int [] add=new int[10];
  int i=1;
  int [] useoffice=new int[10];
  int i1=1;
  int[] usething=new int[10];
  int i2=1;
  int [] spl=new int[10];
  int i3=1;
  int [] sp=new int[10];
  int i4=1; ResultSet rs0 = stmt.executeQuery("select * from rtype");
       DefaultMutableTreeNode root = new DefaultMutableTreeNode("浏览方式");
       pro = new DefaultMutableTreeNode("资产分类");
       root.add(pro);      while(rs0.next())
      {
          this.p[i0]=rs0.getString("t_id");
          String s = rs0.getString("t_type");
          DefaultMutableTreeNode m=new DefaultMutableTreeNode(s);          pro.add(m);          i0++;     }
     ResultSet rs = stmt.executeQuery("select * from addusetype");
     adduse = new DefaultMutableTreeNode("增加方式");
     root.add(adduse);     while (rs.next()) {
       String s = rs.getString("a_type");
       DefaultMutableTreeNode a = new DefaultMutableTreeNode(s);
       adduse.add(a);
       add[i] = rs.getInt("a_id");
       i++;
     }
ResultSet rs1=stmt.executeQuery("select * from bumen");
bumen=new DefaultMutableTreeNode("使用部门");
root.add(bumen); while(rs1.next())
{
    String s1 = rs1.getString("b_value");
    DefaultMutableTreeNode b=new DefaultMutableTreeNode(s1);
    bumen.add(b);
    useoffice[i1]=rs1.getInt("b_id");
    i1++;
}  ResultSet rs2=stmt.executeQuery("select * from isuse");
  isuse=new DefaultMutableTreeNode("使用情况");
  root.add(isuse);   while(rs2.next())
  {
      String s2 = rs2.getString("i_value");
      DefaultMutableTreeNode c=new DefaultMutableTreeNode(s2);
      isuse.add(c);
      usething[i2]=rs2.getInt("i_id");
      i2++;
}
    ResultSet rs3=stmt.executeQuery("select * from saveplace");
     saveplace=new DefaultMutableTreeNode("保存地点");
    root.add(saveplace);     while(rs3.next())
    {
        String s3 = rs3.getString("s_value");
        DefaultMutableTreeNode d=new DefaultMutableTreeNode(s3);
        saveplace.add(d);
        spl[i3]=rs3.getInt("s_id");
        i3++;
  }    ResultSet rs4=stmt.executeQuery("select * from saveperson");
    savaperson=new DefaultMutableTreeNode("保管人员");
    root.add(savaperson);     while(rs4.next())
    {
        String s4 = rs4.getString("sp_value");
        DefaultMutableTreeNode e=new DefaultMutableTreeNode(s4);
        savaperson.add(e);
        sp[i4]=rs4.getInt("sp_id");
        i4++;
  }把数组的内容和子节点的属性关联  我不知道设置属性的函数 请教啊 
后点子节点获取相应的ID 就是表的ID

解决方案 »

  1.   

    不懂什么意思,你是要设置userObject吗?
      

  2.   

    我的意思就是 我想点jtree的一个节点 然后把响应数据库的内容输出来
    上面的代码是从数据库中取出相应的id 放在每一个节点的属性里面 点击的时候就可以查询数据库的内容了dawn023 小弟刚学java 指导下 啊
     
      

  3.   

    我在java中建立了一个JTree的树,我想完成的功能就是,单击某一个节点后,响应对映的操作。 
      

  4.   

    问题自己解决了,大家来看这段代码  点击jtree节点 jtable刷新不了 public void jTree1_valueChanged(TreeSelectionEvent e) {
        DefaultMutableTreeNode node = (DefaultMutableTreeNode) jTree1.getLastSelectedPathComponent();
        if(node.isLeaf())
        {
            if(node.getParent()==pro)
            {
                
                  //JOptionPane.showMessageDialog(this,node.toString(),"消息!",JOptionPane.INFORMATION_MESSAGE);
                  try
                  {
                     Statement stmt=dbConn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
                     String sql="select * from rtype where t_type='"+node.toString()+"'";
                     ResultSet rs0 = stmt.executeQuery(sql);
                     rs0.next();
                     rsp = stmt.executeQuery("select p_id, p_name,p_type, p_out,p_danwei,p_begintime,p_shuliang p_price,p_nowvalue,p_shuliang from property where p_name!='' and p_shuliang>0 and add_property=" +
                                             rs0.getInt("t_id"));
                     
                     
                     
                     pane.remove(jTable1);
                     
                     ResultSetMetaData rsmd = rsp.getMetaData();
                     int numberOfColumns = rsmd.getColumnCount();
                     int b = 1;
                     model = new DefaultTableModel();
                     jTable1 = new JTable();
           
                     while (b <= numberOfColumns) {
                       model.addColumn(rsmd.getColumnName(b));
                       b++;
                     }
                   
                     while (rsp.next()) {
                       Vector newRow = new Vector();
                       int c = 1;
                       while (c <= numberOfColumns) {
                         newRow.addElement(rsp.getString(c));
                         c++;
                       }
                       model.addRow(newRow);
                     }
                      jTable1.setModel(model);
                     jTable1.updateUI();
                     jTable1.repaint();
                     
                     pane = new JScrollPane(jTable1);
                   
                   }
                   catch (Exception ex) {
                     ex.printStackTrace();
                   }            
            }
        }