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
| public void bddTree () throws SQLException{
//il faut allimenter le objectTable avec la requet SQL
/* Object[][] tablePOK = {
{1, 1, "CHENIEUX"}, //i=0
{2, 1, "Administration"}, //i=1
{3, 2, "po-c-pradeau"}, //i=2
{4, 2, "po-j-mondout"}, //i=3
{5, 2, "pc-m-savignat"}, //i=4
{6, 1, "PC Scan-IRM"}, //i=5
{7, 6, "Node7"}, //i=6
{8, 6, "Node8"}, //i=7
{9, 6, "Node9"}, //i=8
{10, 1, "Node10"},}; //i=9
// Object[][] table;*/
try{
Statement st = gestionBdd.getInstance().createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
ResultSet res = st.executeQuery("Select * from tabchenvnc");
ResultSetMetaData meta = res.getMetaData();
Object[] column = new Object[meta.getColumnCount()];
for (int i = 1; i <= meta.getColumnCount(); i++) {
column[i - 1] = meta.getColumnName(i);
}
res.last();
int rowCount = res.getRow();
Object[][] data = new Object[res.getRow()][meta.getColumnCount()];
// On revient au départ
res.beforeFirst();
int j = 1;
// On remplit le tableau d'Object[][]
while (res.next()) {
for (int i = 1; i <= meta.getColumnCount(); i++)
data[j - 1][i - 1] = res.getObject(i);
j++;
}
//Création de tous les noeuds de la table.
DefaultMutableTreeNode[] node = new DefaultMutableTreeNode[data.length];
for (int i = 0; i < data.length; i++) {
node[i] = new DefaultMutableTreeNode(data[i][2].toString());
}
//fin boucle
DefaultMutableTreeNode rootNode = node[0]; //On definie le Noeud Root.
//on lit le tableau et on assigne les noeuds.
for (int i = 0; i < data.length; i++) {
for (int k = 1; k < data.length; k++) {
if (data[i][0] == data[k][1]) {
System.out.println(data[i][2].toString() + " est le parent de : " + data[k][2].toString());
node[i].add(node[k]);
}
}
}
//on crée le model pour le JTree avec.
DefaultTreeModel treeModel = new DefaultTreeModel(rootNode);
//Application du model au JTree.
jTree_bdd.setModel(treeModel);
}catch(SQLException e){
e.printStackTrace();
}
} |
Partager