IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants Java Discussion :

JTree : problème d'affichage ajout/suppression noeud


Sujet :

Composants Java

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 24
    Points : 21
    Points
    21
    Par défaut JTree : problème d'affichage ajout/suppression noeud
    Bonjour,

    J'ai effectué un programme pour la mise à jour d'un JTree en implémentant l'interface TreeModel. Quand j'ajoute un élément (que ce soit un noeud ou une feuille), le tree ne met pas à jour les éléments enlevés ou ajoutés après avoir exécuté la ligne ci-dessous :
    tree.setModel(model);
    Mais le tree met à jour les éléments supprimés ou ajoutés si on fait comme suit :
    tree.setModel(null);
    tree.setModel(model);
    mais l'inconvenient c'est qu'il dissimule tous les sous-éléments.

    Est-ce que quelqu'un peut m'aider, parce que j'aimerai ajouter/supprimer un élément tout en gardant l'état du tree.

    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    essaye ceci
    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
      // Create tree
        JTree tree = new JTree();
        DefaultTreeModel model = (DefaultTreeModel)tree.getModel();
     
        // Find node to which new node is to be added
        int startRow = 0;
        String prefix = "J";
        TreePath path = tree.getNextMatch(prefix, startRow, Position.Bias.Forward);
        MutableTreeNode node = (MutableTreeNode)path.getLastPathComponent();
     
        // Create new node
        MutableTreeNode newNode = new DefaultMutableTreeNode("green");
     
        // Insert new node as last child of node
        model.insertNodeInto(newNode, node, node.getChildCount());

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 24
    Points : 21
    Points
    21
    Par défaut
    je te remercie pour ce portion de code, mais :
    • 1. mon model ne peut pas être converti en DefaultTreeModel
    • 2. j'ai implémenté un autre TreeNode pour gérer mes noeuds, et il ne peut pas être convertit en MutableTreeNode

    Mais ce portion de code marche pour la construction de tree à partir des classes du jdk.

    Est ce qu'il y a une autre solution?

  4. #4
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 24
    Points : 21
    Points
    21
    Par défaut problème résolu
    Dans ma classe qui étend JTree, j'ai implémenté l'interface TreeExpansionListener. Et lors de l'éxpansion de chaque noeud, j'ai enregistré dans un vecteur la classe TreePath correspondant à mon JTree, et inversement, quand un noeud est réduit, je l'enlève du vecteur.
    Alors, après avoir éxecuté la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tree.set(model);
    , je met après j'utilise la méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setExpandedState(treePath , true)


    Merci à tous.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/05/2009, 17h52
  2. [swing] [JTREE] problèmes d'affichage
    Par moris113 dans le forum Composants
    Réponses: 3
    Dernier message: 25/10/2007, 11h41
  3. [ToolBar] Problème lors d'ajout/suppression de boutons
    Par joeln3 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 04/09/2007, 16h21
  4. [Swing][Jtree] Problème d'affichage
    Par shinchun dans le forum Composants
    Réponses: 2
    Dernier message: 10/08/2007, 15h33
  5. [Swing]Problème d'affichage sur un JTree
    Par tomca dans le forum Composants
    Réponses: 4
    Dernier message: 19/01/2006, 11h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo