Bonjour, dans mon JTree j'aimerai pouvoir changé l'objet qui est aproprié au noeud. Pour celà j'ai essayé d'utiliser la méthode setUserObject() mais lorsque je veux redéfinir mon objet sa me donne une erreur de cast que je ne comprend pas étant donné que j'annule le UserObject avant d'y mettre le nouveau.
voilà le bout de code (dans cet exemple j'aimerai remplacer mon tmpNode.getUserObject qui est une sphère par un cube):
j'ai également essayé de créer mon cube avant de le set (donc Cube myCube = new Cube() et j'appelais myCube dans le setUserObject() ) mais l'erreur restait la même.
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 // Crée un noeud temporaire qui correspond à la dernière selection DefaultMutableTreeNode tmpNode = (DefaultMutableTreeNode)myTree.getLastSelectedPathComponent(); // Crée un nouvel item temporaire Item actItem = (Item)tmpNode.getUserObject(); // Redéfini l'item si celui-ci est différent du précédent if(actItem.getType().equals(ObjectComboBox.getSelectedItem().toString())){ } else if(ObjectComboBox.getSelectedItem().toString().equals("Cube")){ System.out.println("avant: " + tmpNode.getUserObject()); // résultat = "Sphere" tmpNode.setUserObject(null); System.out.println("au milieu: " + tmpNode.getUserObject()); // résultat = "null" tmpNode.setUserObject(new Cube()); System.out.println("après: " + tmpNode.getUserObject()); // résultat = "null" }![]()
Partager