Bonjour, je suis un débutant en java et je dois programmer des arbres de décisions, je veux savoir quelle bibliothèque dois-je utiliser jgraph ou java 2d ou autres et comment télécharger ces bibliothèques en connaissant que je travail avec éclipse
Bonjour, je suis un débutant en java et je dois programmer des arbres de décisions, je veux savoir quelle bibliothèque dois-je utiliser jgraph ou java 2d ou autres et comment télécharger ces bibliothèques en connaissant que je travail avec éclipse
JGraph on va dire est une couche au dessus de Java2D. (raccourcis)
Si tu utilises Java2D, tu vas devoir tout developper.
A mon avis, il serait interessant de voir pour JGraph histoire que tu n'ais pas à t'occuper de la gestion/dessin de ton arbre etc.
merci pour l'aide je crois aussi que jgraph est plus simple mais pouvez vous m'envoyez un guide d'utilisation interssant pour jgraph ce que j'ai vu ne permet pas de connaitre comment on l'utilise avec eclipse
As tu bien lu la documentation http://www.jgraph.com/pub/jgraphmanual.pdf qui contient quelques exemples ? (Indépendant de ta plateforme de developement cf eclipse).
voila, je suis de retour, apres avoir lu ce tutorial, javais le probleme suivant dans mon code suivant:
l'erreur suivant saffiche
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 for(int i=2;i<=5;i++) { cells[i] = new DefaultGraphCell(new String("World")); }
remarque que cet commande travail sans boucle mais moi jai besoin d'un boucle alors koi faire??????
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3 at MyPackage.HelloWorld.main(HelloWorld.java:37)
Poste le code de l'initialisation de ton tableau (ou de tout) un coup ?
merci pour la réponse mais pouvez vous expliquez mieux ce que je dois faire je suis débutante avec jgraph
en faite quel tableau vous voulez que je passe en code?
C'est à dire que ton bout de code ne me semble pas faux.
Mais il manque la partie superieur (celle ou tu initialises ton tableau cells[] par exemple, ce qui à mon avis cause ton probleme ?!).
Poste le code complet de ta source (si celle ci ne fait pas 5000 lignes
voila j'ai oublié d'intialiser mon tableau cells mnt ça marche
merci pour l'aide
Me disait bien que c'etait ca
désolé c'était une faute de mal concentration.
mais maintenent jai un nouveau problème:
voici mon code de création de graphe
les noeuds sont affichées mais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
83
84
85
86
87
88
89
90
91
92
93 public JGraph getGraph() { //Déclarations des variables nécessaires actions=rows-2; outcome=cols-1; int width=10; int height=10; int i,j,k; //Déclaration du graphe GraphModel model = new DefaultGraphModel(); GraphLayoutCache view = new GraphLayoutCache(model,new DefaultCellViewFactory()); JGraph graph = new JGraph(model, view); /*----------------------C'est la partie uncertaine de larbre-------------------------------*/ //Déclaration des variables nécessaires nbpayoff=actions*outcome; int nb1=nbpayoff+actions; int ne1=actions*outcome; int np1=(actions*2)+nbpayoff+1; String max=String.valueOf(maxprofit); //Construction du sous arbre de décision uncertain DefaultGraphCell[] cellschoix1 = new DefaultGraphCell[actions+1]; DefaultPort[] portchoix1 = new DefaultPort[(actions+1)*2]; DefaultGraphCell[] cellsfeuille1 = new DefaultGraphCell[actions*outcome]; DefaultPort[] portfeuille1 = new DefaultPort[actions*outcome]; //DefaultPort[] port = new DefaultPort[np1]; //Construction des noeud nécessaires /*Construction des noeud principale*/ cellschoix1[0] = new DefaultGraphCell(new String(max)); GraphConstants.setBounds(cellschoix1[0].getAttributes(), new Rectangle2D.Double(20,100,60,20)); GraphConstants.setGradientColor(cellschoix1[0].getAttributes(),Color.ORANGE); GraphConstants.setOpaque(cellschoix1[0].getAttributes(), true); portchoix1[0] = new DefaultPort(); cellschoix1[0].add(portchoix1[0]); portchoix1[1] = new DefaultPort(); cellschoix1[0].add(portchoix1[1]); /*Construction des noeud de choix*/ for(i=0;i<actions;i++) { try{ height=height+40; cellschoix1[i+1] = new DefaultGraphCell(new String(String.valueOf(profit[i]))); GraphConstants.setBounds(cellschoix1[i].getAttributes(), new Rectangle2D.Double(100,height,40,20)); GraphConstants.setGradientColor(cellschoix1[i].getAttributes(),Color.ORANGE); GraphConstants.setOpaque(cellschoix1[i].getAttributes(), true); for(j=0;j<2;j++){ portchoix1[i*j+2] = new DefaultPort(); cellschoix1[i].add(portchoix1[i*j+2]); } }catch(Exception e){e.printStackTrace();} graph.getGraphLayoutCache().insert(cellschoix1); //Ceéation des feuilles height=20; for(k=0;k<actions;k++) { for(j=0;j<outcome;j++) {try{ height=height+40; cellsfeuille1[j*k] = new DefaultGraphCell(new String(String.valueOf(payoff[k][j]))); GraphConstants.setBounds(cellsfeuille1[j*k].getAttributes(), new Rectangle2D.Double(180,height,40,20)); GraphConstants.setGradientColor(cellsfeuille1[j*k].getAttributes(),Color.green); GraphConstants.setOpaque(cellsfeuille1[j*k].getAttributes(), true); portfeuille1[k*j] = new DefaultPort(); cellsfeuille1[j*k].add(portfeuille1[j*k]); }catch(Exception e){e.printStackTrace();}}} graph.getGraphLayoutCache().insert(cellsfeuille1); //Construction des liens nécessaires DefaultGraphCell[] cellsliens1 = new DefaultGraphCell[2]; DefaultEdge[] edge = new DefaultEdge[1]; edge[0].setSource(cellschoix1[0].getChildAt(actions)); edge[0].setTarget(cellschoix1[1].getChildAt(0)); cellsliens1[0] = edge[0]; int arrow = GraphConstants.ARROW_CLASSIC; GraphConstants.setLineEnd(edge[0].getAttributes(), arrow); GraphConstants.setEndFill(edge[0].getAttributes(), true); graph.getGraphLayoutCache().insert(cellsliens1); } return graph; }
Mon problème est lors de linserion du lien
cet exception survenue:
ceci correspond a la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at MyPackage.ArbreResultat.getGraph(ArbreResultat.java:219) at MyPackage.InterfaceProjet$2.actionPerformed(InterfaceProjet.java:212) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)
y-a-t-il quelqun qui peut m'aider
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 edge[0].setSource(cellschoix1[0].getChildAt(actions));
lundi ma soutenance et il me reste une partie dans le programme
svp c urgenttttt
Tout est dit dans l'erreur
cellschoix1[0].getChildAt(actions) te renvoye un NULL semblerait-il, il faut que tu verifie que tu as bien rempli ton tableau et les fils.
Limite mets tout ton bout de code pour voir avec le debuggeur si tu trouves pas.
jai compris la faute mais jai pas su comment la résoudre car jai pas bien compris quel indice je dois entrer
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager