bonjour mon probleme est le suivant :
j ai un frame qui se decompose en deux parties :
la premiere est la partie reservée à un JTree et la deuxieme doit etre un Jpane qui afficher des informations : ces infos sont relatives à la selection de chaque feuille de l arbre.
sauf que je bloque sur la methode de selction des noeuds de l arbre qui elle retourne un Void
j ai essayé de faire une methode qui retourne un JeditorPane et qui conditionne ce qu il va contienir à la selection de la feuille..sauf que je bloque sur la methode de selction. je sais pas comment faire voici le code :
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 tree.addTreeSelectionListener(new TreeSelectionListener(){ public void valueChanged(TreeSelectionEvent e) { DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent(); if (node == null) { System.out.println("node == null"); return; } Object nodeInfo = node.getUserObject(); if (node.isLeaf()) { BookInfo book = (BookInfo)nodeInfo; f (node.toString()== leafProvDisc){ System.out.println(leafProvDisc); testURL = TreeDemo.class.getResource("tesProviderDisc.txt");; displayURL(book.fichierURL); return; } else System.out.println("Autre"); displayURL(book.fichierURL); } else { System.out.println("texte (not leaf) : "+node.toString()); return;} } });
merci de votre aide
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 private JPanel buildContentPane(){ DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent(); JPanel saisiePane = new JPanel(); saisiePane.setLayout(new FlowLayout()); // saisiePane c est le pane que je voudrai rendre reactif JLabel textFieldLabel = new JLabel(textFieldString + ": "); textFieldLabel.setLabelFor(textField); //saisiePane.add(textFieldLabel); //textField = new JTextField("TESTEUR"); //saisiePane.add(textField); //textField.setActionCommand(textFieldString); if (node == null) { System.out.println("node == null"); return saisiePane; } Object nodeInfo = node.getUserObject(); if (node.isLeaf()) { BookInfo book = (BookInfo)nodeInfo; if (node.toString()== leafProvDisc){ textFieldLabel.setLabelFor(textField); saisiePane.add(textFieldLabel); textField = new JTextField("TESTEUR"); saisiePane.add(textField); textField.setActionCommand(textFieldString); System.out.println(leafProvDisc); return saisiePane;} else { textField = new JTextField("L AUTRE"); saisiePane.add(textField); textField.setActionCommand(textFieldString); System.out.println("Autre");}} else {System.out.println("texte (not leaf) : "+node.toString()); return saisiePane; } return saisiePane;}![]()
Partager