Afficher une courbe sur un JPanel

mo5tarbouzayani Messages postés 18 Date d'inscription jeudi 4 août 2011 Statut Membre Dernière intervention 10 avril 2012 - 1 avril 2012 à 16:56
cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 - 3 avril 2012 à 10:04
Bonjour,

Je possède un programme qui est un traitement qui sera éxcuté lorsque on clique sur un JButton. Il m'ouvre une courbe dans une nouvelle fenêtre.Cependant, jai besoin d'afficher cette courbe directement sur le JPanel (qui contient le JButton).
Pouvez vous m'indiquer la syntaxe à utiliser ?
Voici le programme :
if ("Show curve".equals(evt.getActionCommand())) {
if (access1) {
//declaration de l'objet pour la courbe
XYSeries courbe1 = new XYSeries("COURBE1");
//XYSeries courbe2 = new XYSeries("COURBE2");

// boucle qui ajoute les points des courbes
for (int i=1;i<recupererelevations.longueur;i++){
double X=recupererelevations.tableau_distance[i];
double Y=Double.parseDouble(jTextField21.getText())+Double.parseDouble(jTextField29.getText())-Double.parseDouble(jTextField22.getText())-
ahmed.AffPluie-hachem.AffaiblissementGaz-(92.4 +20*(Math.log10(hachem.freq_saisie))+20*(Math.log10(X)));//-recupererelevations.Aff_diffraction
System.out.println("y est égale à "+Y);
courbe1.add(X,Y);
//courbe2.add(X2,Y2) ;
}

// init de l’objet permettant de créer le graph
XYSeriesCollection xyDataset = new XYSeriesCollection(courbe1);

//ajout de la 2ème courbe du graph
//xyDataset.addSeries(courbe2);

// init de l’objet graph
JFreeChart Graph = ChartFactory.createXYLineChart("Evolution of the signal gain","Distance en km","Affaiblissement total",
(XYDataset)xyDataset,PlotOrientation.VERTICAL,true,true,false);
//init de la couleur de fond du graphe
Color gris = new Color(200,200,200);
Graph.setBackgroundPaint(gris);
// ajout de graph à jPanel
ChartFrame frame1=new ChartFrame("XYArea Chart",Graph);
GroupLayout frame1Layout = new GroupLayout((JComponent)frame1.getContentPane());
frame1.getContentPane().setLayout(frame1Layout);
frame1Layout.setHorizontalGroup(frame1Layout.createSequentialGroup());
frame1Layout.setVerticalGroup(frame1Layout.createSequentialGroup());
frame1.setVisible(true);
frame1.setSize(300,300);
Graph.setNotify(false);


} else {
JOptionPane.showMessageDialog(null, "we must set the link budget", "ERROR", JOptionPane.ERROR_MESSAGE);
}
}

5 réponses

cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 11
2 avril 2012 à 08:16
Salut,

Je ne comprends pas bien ta question... Tu as un panneau avec un bouton, ce bouton dessine un graphique (via la librairie JFreeChart)... tu veux afficher le graphique en derrière ton boutton? tu veux avoir un truc style graphique en haut, bouton en bas, ... Que veux tu?
0
mo5tarbouzayani Messages postés 18 Date d'inscription jeudi 4 août 2011 Statut Membre Dernière intervention 10 avril 2012
2 avril 2012 à 12:14
Bonjour,
Exactement que vous disez.
Je veux pas que le graphe sera affiché dans une nouvelle fenetre comme le programme ci-dessus fournit.

Merci de m'aidez.
0
cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 11
3 avril 2012 à 07:53
Vois alors avec cette classe ci...
0
mo5tarbouzayani Messages postés 18 Date d'inscription jeudi 4 août 2011 Statut Membre Dernière intervention 10 avril 2012
3 avril 2012 à 09:46
j'ai deja (comme j'ai dis dans le premier message) essayé avec cette classe. mais elle affiche les graphes sur une nouvelle fenetre alors que je veux tracer ces courbes sur le JPanel qui contient le JButton..........
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 11
3 avril 2012 à 10:04
Non, tu as utilé la class ChartFrame, moi je te parle de la classe ChartPanel...
0
Rejoignez-nous