Ajout d'un noeud à un Jtree
Kilkenny95
Messages postés
151
Date d'inscription
Statut
Membre
Dernière intervention
-
Kilkenny95 Messages postés 151 Date d'inscription Statut Membre Dernière intervention -
Kilkenny95 Messages postés 151 Date d'inscription Statut Membre Dernière intervention -
Bonjour à toutes et à tous,
J'ai créé un jTree "arbre", et j'aimerai ajouter des noeuds à l'aide d'un bouton et d'une zone de texte.
J'ai pour l'instant le code suivant qui me permet de sélectionner un composant de mon arbre et l'écrire dans la zone de texte.
J'aimerai savoir comment faire, merci d'avance !!!
UPDATE
J'ai continué mon code
Mais j'ai des erreurs au moment où j'appuie sur mon bouton addNode....

J'ai créé un jTree "arbre", et j'aimerai ajouter des noeuds à l'aide d'un bouton et d'une zone de texte.
J'ai pour l'instant le code suivant qui me permet de sélectionner un composant de mon arbre et l'écrire dans la zone de texte.
arbre.addTreeSelectionListener(new TreeSelectionListener() {
@Override
public void valueChanged(TreeSelectionEvent e) {
if (arbre.getLastSelectedPathComponent() != null) {
System.out.println(arbre.getLastSelectedPathComponent());
DefaultMutableTreeNode parent = (DefaultMutableTreeNode) arbre.getLastSelectedPathComponent();
nomAddedNode.setText(parent.getUserObject().toString());
}
}
J'aimerai savoir comment faire, merci d'avance !!!
UPDATE
J'ai continué mon code
arbre.addTreeSelectionListener(new TreeSelectionListener() { @Override public void valueChanged(TreeSelectionEvent e) { System.out.println(arbre.getLastSelectedPathComponent()); DefaultMutableTreeNode parent = (DefaultMutableTreeNode) arbre.getLastSelectedPathComponent(); nomAddedNode.setText(parent.getUserObject().toString()); addNode.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { if(e.getSource()==addNode){ System.out.println("addnode"); DefaultMutableTreeNode parent = (DefaultMutableTreeNode) arbre.getLastSelectedPathComponent(); DefaultMutableTreeNode nouveau = new DefaultMutableTreeNode(nomAddedNode.getText()); parent.add(nouveau); //Reload Jtree DefaultTreeModel model = (DefaultTreeModel) arbre.getModel(); model.reload(); } } }); // removeNode.addActionListener(this); }
Mais j'ai des erreurs au moment où j'appuie sur mon bouton addNode....

A voir également:
- Ajout d'un noeud à un Jtree
- Ajouter un profil netflix payant - Accueil - Guide streaming
- Demande d'ajout snap qui disparait ✓ - Forum Snapchat
- Ajout rapide snap - Forum Snapchat
- Impossible d'ajouter un ami sur facebook - Guide
- Ajout snap sans rien d'écrit - Forum Snapchat
J'ai pu continuer mon code en ajoutant un deuxième bouton supprimer "removeNode" qui "fonctionne".
En appuyant sur le bouton "addNode", j'ai bien un noeud qui s'ajoute dynamiquement à mon arbre, mais j'obtiens les erreurs suivantes:
La ligne 165 correspond au public void actionPerformed, au niveau de la ligne "parent.add(nouveau);"
Pour être pus exacte, cette erreur apparait lorsque j'ajoute deux noeuds à la suite...Même si tous les noeuds ajoutés apparaissent quand même sur mon arbre.
Pour faire simple, j'ai l'impression que mon code gère mal l'appuie sur le même bouton plusieurs fois d'affilé.
Merci de ton aide.
Cela veut dire que "parent" est null.
C'est un premier pas, vous devez maintenant suivre son initialisation. Mais je ne comprends pas le fait que les noeuds s'affichent correctement.
J'ai migré mon jtree dans une nouvelle classe à part, et le problème ne survient apparement plus...Mais il y a quelque chose de bizarre, mon programme doit m'afficher sur ma console le mot cliqué sur mon Jtree, il le fait....Mais l'affiche 14 fois....APres ce n'est pas gênant...Mais bizarre