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 :

mise à jour JTree !


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de anayathefirst
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 326
    Par défaut mise à jour JTree !
    Salut,
    j'ai un objet JTree auquel j'associe un objet DefaultListModel. le problème et que quand le met à jour l'objet DefaultListModel, l'interface graphique n'est pas mise à jour, le nouveaux nœuds n'apparaissent pas dans mon jtree
    quand je crée un autre jtree avec le même objet DefaultListModel, je voie bien les nouveaux nœuds ...
    que faut-il faire ?

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 43
    Par défaut
    Bonjour,

    le problème est que ton Jtree ne détecte pas la modification de ton objet DefaultListModel. C'est pour ça qu'une fois la modification effectuée, si tu crée un nouveau JTree, il est correct.

    En gros l'idée, c'est qu'il faut que tu ajoutes un listener à ton DefaultListModel et si ce dernier est modifié, tu mets à jour ton JTree.

    J'ai regardé vite fait (je ne connais pas trop ces classes) et tu peux peut être t'en sortir avec les méthodes :

    http://javasearch.developpez.com/j2s...stDataListener)

    addListDataListener
    public void addListDataListener(ListDataListener l)
    Adds a listener to the list that's notified each time a change to the data model occurs.

    Specified by:
    addListDataListener in interface ListModel
    Parameters:
    l - the ListDataListener to be added

    http://javasearch.developpez.com/j2s....ListDataEvent)

    contentsChanged
    public void contentsChanged(ListDataEvent e)
    Sent when the contents of the list has changed in a way that's too complex to characterize with the previous methods. For example, this is sent when an item has been replaced. Index0 and index1 bracket the change.

    Parameters:
    e - a ListDataEvent encapsulating the event information

  3. #3
    Membre éclairé Avatar de anayathefirst
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 326
    Par défaut
    Salut,
    c'est bon, j'ai trouvé le problème, en fait, ce que je modifiais, c'était le TreeNode, le fait est que l'écouteur par défaut n'écoute pas les modifications de cet objet la, mais celles du TreeModel associé. pour cela, je modifie l'objet myTree.getModel() directement, ce qui modifie le TreeNode.

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

Discussions similaires

  1. [JTree] Mise à jour d'un JPanel selon le noeud sélectionné dans le JTree
    Par Carlito95 dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 23/03/2010, 20h42
  2. [JTree] Mise à jour de l'affichage
    Par freddy766 dans le forum Composants
    Réponses: 3
    Dernier message: 16/10/2006, 10h39
  3. Mise à jour de la version de MySQL
    Par jobstar dans le forum Administration
    Réponses: 8
    Dernier message: 18/08/2003, 10h45
  4. mise à jour de champs time (interbase)
    Par pram dans le forum XMLRAD
    Réponses: 6
    Dernier message: 04/03/2003, 10h25
  5. Réponses: 2
    Dernier message: 12/02/2003, 15h26

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