Jtree dynamique

salmafatmasessi Messages postés 23 Date d'inscription samedi 28 avril 2012 Statut Membre Dernière intervention 28 juin 2012 - 23 juin 2012 à 12:21
salmafatmasessi Messages postés 23 Date d'inscription samedi 28 avril 2012 Statut Membre Dernière intervention 28 juin 2012 - 23 juin 2012 à 19:31
ah ok voila une liste :
j'ai une table T1(VENTE).
" """" "" " "T2(A,B) avec A,B doivent étre des sous élement de VENTE.
une 3 table T3(e,f,d) avec e,f sous élément de A et, d un sous élément de B
une 4 table T4( ok,od) avec ok,od des sous élément de e.


enfin l'affiche de jtree doivent étre comme ceci :
VENTE(racine)

|||||||A(sous racine)
((((((((((((e(sous elément de A)
[[[[[[[[[[[[[[[[[[ok(sous élémént de e)
[[[[[[[[[[[[[[[[[[od(sous élémént de e)
((((((((((((f(sous élément de A)

|||||||B
((((((((((((d





|||| indique le sous racine(A,B)
((((((((( indique le sous sous racine (e,f,d)
[[[[[[[[[[[[[[ indique le sous sous sous racine(ok,od)

2 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
23 juin 2012 à 18:02
Bonjour,

ET quel est ton problème ?

Remarque, si tu n'as rien essayé et rien cherché, c'est normal de ne pas y arriver...
0
salmafatmasessi Messages postés 23 Date d'inscription samedi 28 avril 2012 Statut Membre Dernière intervention 28 juin 2012
23 juin 2012 à 19:31
j'ai un table T1(c1,c2#) c1:clé primaire, c2 clé étrangère .
T2(c2,c3) c2 clé primaire(clé étranger dans T1), c3 clé étrangé
T3(c3,C4) c3 clé primaire(clé étranger dans T2),C4 clé étrangé

j'aime bien afficher dans un jtree ceci :

c1(racine)

|||||--c2
||||||||||--c3
|||||||||||||||||||--C4

||||||--c2'
|||||||||||--c3'
||||||||||||||||||||--c4'

comment j'obtient ceci
mes clé son de type chaine de caractére

je veut afficher rs.getString(2) sous rs.getString(1)
et rs.getString(3) sous rs.getString(2).
comment je peut faire ça avec ce code !!!!

ce code marche bien mais j'aime bien avoir
rs.getString(2) sous rs.getString(1)
et rs.getString(3) sous rs.getString(2)


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 pHierarchy[], Map<String, DefaultMutableTreeNode> pNodes) {
if ( pNodes == null ) {
pNodes = new HashMap<String, DefaultMutableTreeNode>();
}
if ( !pNodes.containsKey(pHierarchy[0])) {
pNodes.put(pHierarchy[0].toString(), new DefaultMutableTreeNode(pHierarchy[0]));

}
DefaultMutableTreeNode node = pNodes.get(pHierarchy[0]);
DefaultMutableTreeNode child = pNodes.get(pHierarchy[1]);
for (int i = 1; i < pHierarchy.length; i++) {
Object nodeSpecifier = pHierarchy[i];
if (nodeSpecifier instanceof Object[]) // Ie node with children
{
child = processHierarchy((Object[]) nodeSpecifier, pNodes);
} else {
child = new DefaultMutableTreeNode(nodeSpecifier); // Ie Leaf



}

node.add(child);
}
System.out.println(node);
return (node);

}
}
0
Rejoignez-nous