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

AWT/Swing Java Discussion :

Rafraîchissement d'un panel de graphe


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de yaya_la_rafale
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 92
    Par défaut Rafraîchissement d'un panel de graphe
    Bonjour,

    j'ai une panel (currentPanel type JPanel) qui affiche un graphe (suiviGraphe type ChartPanel).
    J'ai un bouton qui demande une mise à jour de mon graphe (par exemple changement de dates)

    Le probleme est que lorsque je demande ma mise à jour, un nouveau panel graphe est ajouté SOUS l'autre, (je le devine lorsque je grandis ma fenetre) alors que je voudrais qu'il le remplace.

    Voici mon code, la creation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    currentPanel.setLayout(new BorderLayout());
    suiviGraphe = new SuiviGraphe(monController,
    					dChooserStartDate.getCalendar(), 
    					dChooserEndDate.getCalendar() );
     
    		currentPanel.add(suiviGraphe.getChart(dChooserStartDate.getCalendar(), dChooserEndDate.getCalendar(), cbShowEchelle.isSelected() ), BorderLayout.CENTER);
    la mise à jour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    currentPanel.remove(suiviGraphe);
    currentPanel.repaint();
    currentPanel.validate();
    suiviGraphe.setVisible(false);
     
    currentPanel.add(suiviGraphe.getChart(calStartDate, calEndDate, showEchelle ), BorderLayout.CENTER);
     
     
    suiviGraphe.validate();
    suiviGraphe.repaint();
     
    currentPanel.validate();
    currentPanel.repaint();
    je voudrais essayer de ne pas mettre mon suiviGraphe en static si possible...
    Merci d'avance.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Janvier 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2008
    Messages : 227
    Par défaut
    Salut,


    J'ai l'impression au vu de ton code que tu ajoutes une chose:

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    currentPanel.add(suiviGraphe.getChart..... )

    et que tu cherches a en supprimer une autre :
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    currentPanel.remove(suiviGraphe);

    AMHA, il faudrait que tu ajoutes et supprimer le même component à ton panel pour que ça fonctionne.

    Si dans ton panel, tu n'as qu'un seul component, je pense que tu peux aussi supprimer le tout de ton currentPanel a l'aide de la méthode removeAll. Non ??


    Cordialement,
    Patouche

  3. #3
    Membre confirmé Avatar de yaya_la_rafale
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 92
    Par défaut
    Merci beaucoup !!
    oui avec le removeAll, cela fonctionne.
    Le probleme était donc que nom que le nom donné dans remove était faux.

    Le problème est que non, ce n'est pas le seul component de mon panel et donc je perd le panel du haut dans le border.North.

    j'utilise desormais panel.remove(int position du component) car je n'ai pas reussi a utiliser la fonction component getName, qui retourne null


    Merci, cela m'a bien aiguillé !!!

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

Discussions similaires

  1. Affichage d'un graphe sur un panel d'un autre JFrame
    Par Maroua Mima dans le forum Agents de placement/Fenêtres
    Réponses: 10
    Dernier message: 09/06/2015, 15h31
  2. Réponses: 4
    Dernier message: 28/07/2011, 15h58
  3. Classe pour la création d'un graphe xy
    Par Bob dans le forum MFC
    Réponses: 24
    Dernier message: 03/12/2009, 17h20
  4. Rafraîchissement du panel dans la JTable
    Par Toutfic dans le forum Composants
    Réponses: 8
    Dernier message: 04/03/2007, 22h20
  5. [jCharts] [débutant] rafraîchissement d'un graphe
    Par calogerogigante dans le forum 2D
    Réponses: 2
    Dernier message: 23/09/2005, 09h29

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