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 :

[SWING]Comment rendre un arbre(jtree) persistent?


Sujet :

Composants Java

  1. #1
    Inactif  
    Inscrit en
    Avril 2005
    Messages
    750
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 750
    Points : 498
    Points
    498
    Par défaut [SWING]Comment rendre un arbre(jtree) persistent?
    Bonjour,

    Je voudrais pouvoir, a chaque fois que je réouvre mon application, retrouvé les noeud de mon arbre qui avaient été créé précédement.
    Comment rendre l'arbre et les noeud persistent?

    Merci d'avance pour votre aide.

  2. #2
    Membre expérimenté Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Points : 1 608
    Points
    1 608
    Par défaut
    Si tu utilises un DefaultTreeModel pour ton modèle de JTree, il est sérialisable.

  3. #3
    Inactif  
    Inscrit en
    Avril 2005
    Messages
    750
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 750
    Points : 498
    Points
    498
    Par défaut
    Salut,

    donc je n'ai pas besoin d'implémenter l'interface serializable pour mon arbre ou mes noeuds?

    Je peux directement enregistré un noeud a chq fois qu'il est créé en utilisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(
    "nomfichier.txt"));
    Object obj = new Object();
    MyTreeNode treeNode = new MyTreeNode(obj);
    out.writeObject(treeNode);
    pour écrire dans un fichier par exemple, ou y a t'il d'autre méthode spécifique au JTree?

  4. #4
    Membre expérimenté Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Points : 1 608
    Points
    1 608
    Par défaut
    Pourquoi ne pas faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("nomfichier.txt")); 
    out.writeObject(tonJTree.getModel());
    Cela va enregistrer tout le modèle (donc le noeud racine et ses descendants récursivement) en une seule opération.

  5. #5
    Inactif  
    Inscrit en
    Avril 2005
    Messages
    750
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 750
    Points : 498
    Points
    498
    Par défaut
    Ok merci pour tes réponses, j'aurai encore une question, je voudrais que cette opération soit transparentes pour un utilisateur donc ce morceau de code je devrais le mettre dans la méthode windowClosed(WindowEvent e) puisque cela m'enregistre l'arbre complet je n'ai pas besoin de répéter l'opération a chaque fois que je créé un noeud non?
    ou y a til une autre façon de procéder car avec cette méthode si jamais le pc plante ou si l'utilisateur laisse l'application tournée tte la journée par exemple, ce n'est pas vraiment sur d 'enregistrer l'arbre qu'a la fermeture de l'application.

    Y aurait il une meilleure méthode pour la serialisation de l'arbre?

  6. #6
    Membre expérimenté Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Points : 1 608
    Points
    1 608
    Par défaut
    Enregistrer l'arbre à intervalles réguliers à l'aide d'un Timer ?

Discussions similaires

  1. [SWING][GlassPane] comment rendre un fond transparent ?
    Par PoPeio dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 11/04/2006, 01h55
  2. [swing] Comment rendre le bouton non éditable ... .
    Par issou dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 03/04/2006, 17h54
  3. Comment rendre invisible un TTabbedNotebook.Pages ?
    Par Chonchon dans le forum Composants VCL
    Réponses: 2
    Dernier message: 14/04/2004, 20h14
  4. comment rendre invisible une FormStyle->fsMDIchild
    Par caluloa dans le forum C++Builder
    Réponses: 5
    Dernier message: 16/05/2003, 14h21
  5. Comment rendre transparent le tour d un icone
    Par NeoRonin dans le forum Composants VCL
    Réponses: 7
    Dernier message: 03/03/2003, 01h40

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