问题已解决,但是又碰到问题:单击节点事件是什么??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();
}
}
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();
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货