`

绘制一棵树

阅读更多
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.tree.*;
import java.sql.*;
import java.util.*;
public class drawing{
public static void main(String[] args) {
JFrame frame = new TreeEditFrame();
frame.setLocationRelativeTo(null);
frame.show();
}
}
class TreeEditFrame extends JFrame {
private DefaultTreeModel model;
private JTree tree;
public TreeEditFrame() {
setTitle("Build Tree");
setSize(300, 200);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
// construct tree
TreeNode root = makeSampleTree();
model = new DefaultTreeModel(root);
tree = new JTree(model);
// tree.setEditable(true);
// add scroll pane with tree to content pane
Container contentPane = getContentPane();
JScrollPane scrollPane = new JScrollPane(tree);
contentPane.add(scrollPane, "Center");
}
public TreeNode makeSampleTree() {
DefaultMutableTreeNode root = new DefaultMutableTreeNode("所有节点");
String JDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String connectionURL = "jdbc:odbc:OracleTest";
Map staff = new HashMap();
try {
Class.forName(JDriver);
} catch (ClassNotFoundException e) {
System.out.println("ForName:" + e.getMessage());
}
try {
Connection con = DriverManager.getConnection(connectionURL,
"scott", "tiger");
Statement stmt = con.createStatement();
ResultSet rs = stmt
.executeQuery("select * from scott.tree order by ParentID,ID");
while (rs.next()) {
int i = rs.getInt("ID");
int j = rs.getInt("ParentID");
String str = rs.getString("Text");
DefaultMutableTreeNode ParentId = (DefaultMutableTreeNode) staff
.get(new Integer(j));
DefaultMutableTreeNode newNode = new DefaultMutableTreeNode(str);
if (ParentId != null)
ParentId.add(newNode);
else
root.add(newNode);
staff.put(new Integer(i), newNode);
}
stmt.close();
con.close();
} catch (SQLException e) {
System.out.println("SQLException:" + e.getMessage());
}
return root;
}
}
/*
* create table SCOTT.TREE ( ID INTEGER not null, PARENTID INTEGER not null,
* TEXT VARCHAR2(50) default '' not null, EXPLAIN VARCHAR2(100));
*/
分享到:
评论
2 楼 laozhao 2009-12-02  
佩服佩服!
1 楼 laozhao 2009-12-02  
妈啊!我纠结了这么久的问题,你用这么简单的一句就完成了?原来这个世界真的有捷径这种东西。

相关推荐

Global site tag (gtag.js) - Google Analytics