Redéfinir l'objet du noeud
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):
Code:
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"
} |
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. :?