Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1786 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Refresh JTree (autre version...)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Refresh JTree (autre version...)

n°1406418
Goose6
Posté le 13-07-2006 à 15:16:24  profilanswer
 

Petit soucis avec un JTree : j'ai une fenêtre d'invite frameInvit qui permet de choisir un fichier xml qui sera affiché ensuite dans un JTree dans une autre frame frameAppli. L'implémentation marche, l'affichage également.
J'ai ajouté sur frameAppli un bouton de fermeture qui effectue un dispose sur frameAppli et qui permet de choisir un nouveau fichier xml (ou bien simplement de quitter l'application) depuis frameInvit. Le problème : lorsque j'ouvre un nouveau fichier, le JTree charge effectivement le nouveau fichier xml, mais conserve également l'ancien, puisque le dispose() effectué sur la frame frameAppli libère les ressources mais ces ressources peuvent être à nouveau affichées par un nouvel appel à pack() comme précisé dans la Javadoc de la méthode (ce qui sera évidemment fait lors du nouvel affichage...). Du coup, je me retrouve avec le noeud racine ayant 2 ensembles de fils : le 1er correspondant au 1er fichier, le 2nd au 2nd fichier.
 
Je charge le contenu du JTree en passant par un DefaultMutableTreeNode racine.
 
Pour cela, j'ai essayé :

  • de passer par le modèle du JTree et de recharger le modèle et updater --> marche pas
  • de charger un modèle null et de recharger le modèle et updater --> marche pas


Comment peut-on faire proprement un refresh du contenu du JTree ?

mood
Publicité
Posté le 13-07-2006 à 15:16:24  profilanswer
 

n°1406436
brisssou
8-/
Posté le 13-07-2006 à 15:26:42  profilanswer
 

j'y entrave rien, c'est qu'une idée, mais si tu fais un truc genre monJTree = new JTree() quand tu veux le mettre à jour, ça marche pas ?


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
n°1406448
Goose6
Posté le 13-07-2006 à 15:34:05  profilanswer
 

brisssou a écrit :

j'y entrave rien, c'est qu'une idée, mais si tu fais un truc genre monJTree = new JTree() quand tu veux le mettre à jour, ça marche pas ?


ben non, c'est ce que je fais puisque je relance un nouvel appel à cette frame, donc je lance un nouveau thread qui va la gérer mais l'appel à pack() sur la frame fait réapparaitre l'ancien contenu, puisqu'il est dit que l'appel à pack() sur une frame précédemment "disposée" permet de récupérer les valeurs précédemment désallouée (quote de la Javadoc):

Citation :

The Window and its subcomponents can be made displayable again by rebuilding the native resources with a subsequent call to pack or show. The states of the recreated Window and its subcomponents will be identical to the states of these objects at the point where the Window was disposed (not accounting for additional modifications between those actions).


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Refresh JTree (autre version...)

 

Sujets relatifs
Tabulation dans un Jtree -> Marche pas![Swing] Un Jtree de JPanels... possible ? Si oui comment ?
JTable : pb affichage cellule ! ne se refresh pas sauf si scroll/clicdonner un numero de version automatique au programme
version client mysql utilisé par PHP[Réglé] <?xml version="1.0" encoding="ISO-8859-1"?> et php
Refresh JTreeDéveloppement web et test version
comment taguer une version en tant que Head? 
Plus de sujets relatifs à : Refresh JTree (autre version...)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR