绘制一棵树

    技术2022-05-11  113

    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));  */  

    最新回复(0)