问题已解决,但是又碰到问题:单击节点事件是什么??import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.tree.*;
import java.sql.*;
public class tree
{
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
Statement stmt1 = null;
ResultSet rs1 = null;

// int childCount = 0;
String s = null;
String s1 = null;
int count =0;

    public tree()
    {
        
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection("jdbc:odbc:tree");
System.out.println("ok");



}catch(Exception e)
{
e.printStackTrace();
}        
        
        
        
        JFrame f = new JFrame("firstTree");
       
        Container contentPane = f.getContentPane();
        
        
        try{
         stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
         rs = stmt.executeQuery("select * from TreeExample where f_fatherid='1'");
   
   
    while(rs.next())
    {
    count++;
    }
DefaultMutableTreeNode root=new DefaultMutableTreeNode("ROOT");
DefaultTreeModel tree1=new DefaultTreeModel(root,true);

rs.first();//将光标移动第一条记录

    for(int i=1;i<=count;i++)
    {
s=String.valueOf(i);

DefaultMutableTreeNode s =new DefaultMutableTreeNode(rs.getString("f_treename"),true);
tree1.insertNodeInto(s,root,root.getChildCount());



String id = rs.getString("f_id");

         stmt1 = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs1 = stmt1.executeQuery("select * from TreeExample where f_fatherid='"+id+"'");



int childCount = 0;
while(rs1.next())
{
childCount++;
}


rs1.first();
if(childCount !=0 )
{

for(int j=1;j<=childCount;j++)
{
s1 = String.valueOf(j);
DefaultMutableTreeNode s1 =new DefaultMutableTreeNode(rs1.getString("f_treename"));
tree1.insertNodeInto(s1,s,s.getChildCount());
rs1.next();
}


}
rs.next();

   }    JTree tree = new JTree(tree1);
         JScrollPane scrollPane = new JScrollPane();
         scrollPane.setViewportView(tree);
        
       contentPane.add(scrollPane);
         f.pack();
         f.setVisible(true);
        
       f.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
 

    }
    catch(Exception e)
    {
    e.printStackTrace();
    }
    
        
        
    }    public static void main(String args[]) {
    
        new tree();
    }
}