1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
| package fr.unitic.metier;
import java.awt.*;
import java.sql.*;
import java.util.*;
import javax.swing.*;
import javax.swing.tree.*;
public class JTreeStructure extends JFrame {
Connection con = null;
Statement st = null;
ResultSet rs = null;
public static void main(String args[]) throws Exception {
new JTreeStructure();
}
public JTreeStructure() throws Exception {
super("Retrieving data from database ");
String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String url = "jdbc:sqlserver://UNITIC2:1433;DatabaseName=";
String db = "UNIDB_CLITEST";
ArrayList list = new ArrayList();
list.add("Roll Numbers");
Class.forName(driver);
con = DriverManager.getConnection(url + db, "sa", "sql");
try {
String sql = "Select * from import ";
st = con.createStatement();
rs = st.executeQuery(sql);
while (rs.next()) {
Object value[] = { rs.getString(4),rs.getString(1), rs.getString(2),
rs.getString(3) };
list.add(value);
}
} catch (Exception e) {
System.out.println(e);
}
rs.close();
st.close();
con.close();
Object hierarchy[] = list.toArray();
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container content = getContentPane();
DefaultMutableTreeNode root = processHierarchy(hierarchy);
JTree tree = new JTree(root);
content.add(new JScrollPane(tree), BorderLayout.CENTER);
setSize(275, 300);
setLocation(300, 100);
setVisible(true);
}
private DefaultMutableTreeNode processHierarchy(Object[] hierarchy) {
DefaultMutableTreeNode node = new DefaultMutableTreeNode(hierarchy[0]);
DefaultMutableTreeNode child;
for (int i = 1; i < hierarchy.length; i++) {
Object nodeSpecifier = hierarchy[i];
if (nodeSpecifier instanceof Object[] ) // Ie node with children
{
child = processHierarchy((Object[]) nodeSpecifier);
} else {
child = new DefaultMutableTreeNode(nodeSpecifier); // Ie Leaf
}
node.add(child);
}
System.out.println(node);
return (node);
}
} |
Partager