色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

jtree+mysql

吉茹定2年前11瀏覽0評論

在Java Swing中,JTree是一個非常強大的組件,它可以用來表示樹形結構數據中的節點,而MySQL則是一個流行的關系型數據庫。這篇文章將介紹如何在Java Swing應用程序中使用JTree和MySQL來顯示和管理樹形結構數據。

首先,我們需要建立一個數據庫來存儲我們的數據。假設我們要存儲一個公司的組織架構,我們可以創建一個名為“company”的數據庫,并在其中創建一個名為“employee”的表。

CREATE DATABASE company;
USE company;
CREATE TABLE employee (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255),
title VARCHAR(255),
manager_id INT
);

接下來,我們需要在Java Swing應用程序中創建一個JTree。我們可以使用DefaultMutableTreeNode類來創建一個節點,并將節點添加到樹中。

DefaultMutableTreeNode root = new DefaultMutableTreeNode("公司");
DefaultMutableTreeNode hr = new DefaultMutableTreeNode("人力資源部");
DefaultMutableTreeNode it = new DefaultMutableTreeNode("信息技術部");
root.add(hr);
root.add(it);
JTree tree = new JTree(root);

現在我們需要從MySQL數據庫中讀取數據,并將其添加到JTree中。我們可以使用JDBC來連接和查詢數據庫,并使用DefaultMutableTreeNode類來創建節點。

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/company", "root", "password");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM employee");
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
String title = rs.getString("title");
int manager_id = rs.getInt("manager_id");
DefaultMutableTreeNode node = new DefaultMutableTreeNode(name + " (" + title + ")");
if (manager_id == 0) {
root.add(node);
} else {
Enumeration e = root.depthFirstEnumeration();
while (e.hasMoreElements()) {
DefaultMutableTreeNode n = (DefaultMutableTreeNode)e.nextElement();
if (n.getUserObject().equals(manager_id)) {
n.add(node);
break;
}
}
}
}
rs.close();
stmt.close();
conn.close();

代碼中的循環遍歷所有數據庫記錄,并創建對應的節點。如果記錄的manager_id為0,則將節點添加到根節點下,否則需要在樹中搜索管理者節點,并將新節點添加為它的子節點。

最后,我們需要使用JFrame來創建一個窗口,并將JTree添加到其中。

JFrame frame = new JFrame();
frame.add(new JScrollPane(tree));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 400);
frame.setVisible(true);

現在我們已經創建了一個可以顯示和管理樹形結構數據的Java Swing應用程序。當數據庫中的數據發生變化時,我們只需要重新讀取數據并更新JTree即可。