Rafraichir un histogramme

Résolu
chocobarbe Messages postés 32 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 5 février 2010 - 29 sept. 2007 à 22:45
chocobarbe Messages postés 32 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 5 février 2010 - 4 oct. 2007 à 08:49
bonjour,

voici mon probleme

Dans ma fenetre principale, j'ai un histogramme :

DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(100.0, "RT5 504", "projet année 2007");
dataset.addValue(floatmoyenne2, "Indicateur", "projet année 2007");
JFreeChart barChart = ChartFactory.createBarChart("Avancement des projets", "","%", dataset, PlotOrientation.VERTICAL, true, true, false);
ChartPanel cPanel = new ChartPanel(barChart);
gbl.setConstraints(cPanel,gbc);
getContentPane().add(cPanel);
etc...

et j'ai un bouton
lorsque j'appui sur ce bouton, je veux qu'une valeur de mon histogramme change : dataset.addValue(floatmoyenne2, "Indicateur", "projet année 2007");

gestion du bouton :
public void actionPerformed(ActionEvent event){
if (event.getActionCommand().equals("recherche")){
floatmoyenne2=55;
?????????????? => rafraichir l'histogramme

}
}


que doit-je mettre pour qu'il fasse un rafraichissement , jai penser a une fonction genre repaint() mais j'ai pas reussi a l'utilisé.



Merci de m'expliquer si quelqu'un sait !!!!!!

2 réponses

chocobarbe Messages postés 32 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 5 février 2010 1
4 oct. 2007 à 08:49
Probleme réglé !

Oublions l'histoire du repaint() ou revalidate(), ..., il suffit de réecrire le "dataset.addValue(floatmoyenne2, "Indicateur", "projet année 2007");"

Ca ne marchait pas car mon histogramme était declarer en locale, donc quand je voulais le modifié à partir d'un autre endroit, evidemment il ne le reconnaissait pas.
DefaultCategoryDataset dataset new DefaultCategoryDataset(); > je l'ai donc déclarer en globale a toute les classes.

l'histogramme s'actualise totu seul lorsque que lon modifie son dataset.addValue()

Si ca peut aider quelqu'un !
3
KenZara Messages postés 112 Date d'inscription vendredi 24 décembre 2004 Statut Membre Dernière intervention 20 décembre 2011
3 oct. 2007 à 12:29
Bonjour,

Je ne sais pas comment fonctionne le JFreeChart, et si y a pas une méthode pour lui indiquer que le dataset à de nouvelles valeurs, sinon pour la méthode repaint, il faudrait mettre une fonction (paint) qui va pouvoir te dessiner ton Jfreechart, et c'est dans cette méthode ou tu mettras tout ce qui est graphique, (par exemple recréer le barchart avec le nouveau dataset) et le replacer.
Ensuite, tu fais un repaint ds ton boutton.
Ce n'est qu'une idée il se peut qu'elle soit pas bonne.

Kenza
0
Rejoignez-nous