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 :

[JTreetable] probleme de rafraichissement


Sujet :

Composants Java

  1. #1
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 360
    Par défaut [JTreetable] probleme de rafraichissement
    je charge mes donnee et je les affichent dans un jtreetable, mes quand je change le critere le critere de l'affichage dauns combobox,
    je veux que mon jtreetable se rafraichie automatiquement
    sachant que j'ai fait repaint mais sans aucune resultat

    voila mon probleme en faite
    Merci de m'aider

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    Tu dois dire au modèle qu'il a changé, en faisant un fire...Changed() sur le modèle du JTreeTable.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 64
    Par défaut
    En fonction de ce que tu modifies dans ta table, tu dois appellé différentes méthodes de mise à jour : http://java.sun.com/docs/books/tutor...able.html#fire

  4. #4
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 360
    Par défaut
    oui mais elle ne s'affiche pas que lorsque je clique sur le panel qui la contient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
               mBilan.remove(mTreeTablePanel);
                ChargerModeleDonnee();
                mBilan.repaint();
                mTreeTablePanel.mTreeTable.repaint();
    mbilan le panel qui la contient
    Charger modeleDonnee la fonction qui permet de charger les donnee

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 64
    Par défaut
    Fait voir la fonction ou tu charges les données, juste la partie qui accède à JTreeTable (setData ou autre).

  6. #6
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 360
    Par défaut
    mon probleme c'est exactement le panel qui contient le treetable je fais repaint mais juska ce que je clique sur le panel que s'execute la fonction repaint ?

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 64
    Par défaut
    C'est clairement un problème de mise à jour, de refresh donc. Les données sont bien mise-à-jour dans l'objet mais ne sont pas visible avant qu'un évènement déclenche automatiquement et effectivement la mise à jour, tel qu'un clic.

    Ce qu'il faut donc c'est qu'après que ton objet JTreeTable ai reçu les nouvelles données, appellé une méthode fire...() ou autre (sans ton code on peut pas te dire plus) qui va s'occuper de mettre à jour l'affichage.

    Personnellement je n'utilise jamais repaint() ou paint() car ces méthodes sont souvent appellés par d'autre bien plus pratique et surtout de façon adéquat. Leur nom est plus souvent une source d'erreur qu'autre chose.

  8. #8
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 360
    Par défaut
    fire koi fire le panel ou le treetable ?
    donne moi le code si possible?

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 64
    Par défaut
    Sur base du lien que je t'ai mis au-dessus (j'ose espérer que tu as au moins cliquer dessus avant de venir sur le forum dire que çà marche pas) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    tonTreeTable.setData( [plein de data] );
    ...
    tonTreeTable.getModel().fireTableDataChanged();

  10. #10
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 360
    Par défaut
    cette methode de fire n'existe pas dans mon modele

  11. #11
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 111
    Par défaut
    methode getTreeTableModel()
    et d'ailleur tu n'as pas acces a la methode fire... de l'exterieur du modele.

    pour info :
    1) tu créé ton treetable
    2) tu le colles dans ton panneau
    3) ta combobox va modifier le model du treetable
    4) le model appelle les methode fire... que le treetable recupere et utilise pour se mettre a jour.

    Donc si ton truc est bien fait tu n'as pas de repaint(), revalidate() a faire.

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 64
    Par défaut
    Au temps pour moi, je pensais que JTreeTable extends JTable...

  13. #13
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 360
    Par défaut
    Mon probleme c'est que le jtreetable est modifier il est chargé des nouveaux données, mon jtreetable est fixé sur un panel (mTreeTablePanel) et ce dernier est fixé a son tour sur un autre panel (mBilan) voila un exemple de mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
            if ((change == true||changeDate==true||ChangeSociete==true) && (execut == true)&& (no_param==false)) {
                mBilan.remove(mTreeTablePanel);
                ChargerModeleDonnee();
                mBilan.repaint();  // repaint de panel sur lekel est positionné le panel de jtreetable
                mTreeTablePanel.mTreeTable.repaint();
                mTreeTablePanel.repaint();//repaint de panel contenat mon treetable
            }
    Merci de m'aider

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 64
    Par défaut
    Montre le code de ta méthode ChargerModeleDonnee(); qui touche a ton treeTable.

    Sinon çà
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mBilan.remove(mTreeTablePanel);
    çà me semble bizarre. On ne doit pas enlever un composant de son contener pour le mettre à jour. Le fait de le mettre à jour suffit et d'ailleurs c'est peut-être çà le problème, genre tu mets ton treeTable a jour mais le contener mBilan ne le détecte pas vu que le TreeTable n'est plus dedans (via le Panel).

  15. #15
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 360
    Par défaut
    Merci le probleme est resolu, j'ai enlevé l'instruction removeall(mtreetablepanel) et j'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
               // mBilan.remove(mTreeTablePanel);
                ChargerModeleDonnee();
                mTreeTablePanel.mTreeTable.repaint();
                mTreeTablePanel.updateUI();
                mBilan.updateUI();
    au lieu de repaint

    Merci tres bien
    bonne journée

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

Discussions similaires

  1. [Image] Probleme de rafraichissement
    Par leyee dans le forum 2D
    Réponses: 4
    Dernier message: 31/10/2005, 22h26
  2. Probleme de rafraichissement Fenetre Win32 ...
    Par miaw dans le forum OpenGL
    Réponses: 1
    Dernier message: 09/05/2005, 08h59
  3. Probleme de rafraichissement d'un BDGrid
    Par marmotte dans le forum Bases de données
    Réponses: 10
    Dernier message: 28/05/2004, 18h07
  4. Probleme de rafraichissement
    Par glRaZ dans le forum C++Builder
    Réponses: 5
    Dernier message: 23/03/2004, 14h07
  5. [MFC] probleme de rafraichissement d'une image
    Par Vestaproman dans le forum MFC
    Réponses: 6
    Dernier message: 09/01/2004, 23h59

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