Réaliser des graphiques

Résolu
bonnepioche Messages postés 2 Date d'inscription lundi 11 avril 2011 Statut Membre Dernière intervention 26 août 2011 - 23 août 2011 à 13:11
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 - 26 août 2011 à 11:18
Voici mon programme, en une seule séquence ou
en 2 fichiers : Fichier et MonPanneau. Je veux afficher un diagramme. J'aurai une joie immense à sortir une courbe.

grandMerci



package graphe2;


import java.awt.*;
import javax.swing.*;
import java.util.*;

class Fichier {

public static void main (String [] arg) {


int[] xs = {25, 75, 125, 85, 125, 75, 25, 65};

MonPanneau.passage(xs);

}


}


public class MonPanneau extends JPanel
{
public static int[] xs;
public static void passage (int[] xs) {
System.out.println(xs [3]);
Fenetre();

}

public static void Fenetre() {
try { UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); }
catch (UnsupportedLookAndFeelException e) { System.out.println(e); }
catch (ClassNotFoundException e) { System.out.println(e); }
catch (InstantiationException e) { System.out.println(e); }
catch (IllegalAccessException e) { System.out.println(e); }


JFrame fenetre = new JFrame();
fenetre.setSize(400, 400);
fenetre.setTitle("Simple dessin en JAVA 2D");
JPanel panneau = new MonPanneau();
panneau.setBackground(Color.WHITE);
fenetre.add(panneau);
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenetre.setVisible(true);
}

@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
int larg = getWidth();
int haut = getHeight();
g.setColor (Color.black);

g.drawLine(larg/8,0,larg/8, haut);
g.drawLine(0,haut*7/8,larg, haut*7/8);
g.setColor (Color.red);


System.out.println(xs [3]);
int[] ys = {50, 90, 50, 100, 150, 110, 150, 100};
g.drawPolyline(xs, ys, 8);
}
}

5 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
23 août 2011 à 13:32
Bonjour,

Pour afficher des diagrammes, tu peux utiliser la librairie JFreeChart qui est assez bien documentée sur internet.

Bon courage
3
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
23 août 2011 à 18:45
sinon j ai aussi fourni un exemple de source asser basic... ;o) JFreechart convient rarement ;o) à des besoin aplicatif ;o) ...

par contre si tu compte afficher ta frame ;o) il est indispensable de l instancier dans ton main ;o) ou plutot (ce serait bien quand meme) de la rendre visible...

Mais bien mieux encore ... reprend un exemple, ton code est vraiment brouillon... pourquoi diable nommer ta classe principale 'Fichier' ??!!!


GodConan ;o)
3
Utilisateur anonyme
24 août 2011 à 04:40
Salut,

Tu déclare 3 fois le tableau xs

-une fois dans la classe Fichier où tu l'initialise pour passer le contenu à la classe MonPanneau,
-une 2ème fois dans la classe MonPanneau en variable de classe,
-et enfin une 3ème fois dans la méthode passage qui recevra bien ce qui est envoyé par Fichier.

Or ce que tu vas utiliser c'est le xs n°2 qui reste vierge ...

Alors dans un premier temps tu peux faire:

public class MonPanneau extends JPanel 
   {
      public static int[] xs;
      
      public static void passage (int[] xs1) //<<<<<<<<<< xs1
      {
         xs = new int[xs1.length]; // <<<<<<< dimension de xs
         for(int i = 0; i < xs1.length; i++)
         {
            System.out.println(xs1 [i]);
            xs [i] = xs1 [i]; // <<<<<< copie de xs1 dans xs2 (ou clone)
         } 
         Fenetre(); 
      
      }


pour constater que c'est beaucoup mieux.

Et voyant ce qu'il se passait simplifier le tout.


Cordialement,


...\ Dan /...
0
bonnepioche Messages postés 2 Date d'inscription lundi 11 avril 2011 Statut Membre Dernière intervention 26 août 2011
26 août 2011 à 11:07
Merci beaucoup pour votre aide.
Quand je me suis inscrit on m'a demandé de me présenter. Alors je m'explique.
Il y a 3 ans, je me suis mis à Java 6 avec le livre d'Anne Tasso et j'ai coincé aux 2/3 du livre, au chapitre 11. Je me suis inscris au CNAM d'Aix en e-learning. Les cours sont en 1.4 avec des ordres obsolètes. Oups ! Je l'ai écrit au directeur et le prof (Douguet) m'a jeté. Donc du cours, il n'est resté qu'un livre électronique. Et le cours est une copie conforme des exemples d'Anne Tasso … Aaaaah ! (râle ultime)
Je ne sais pas installer Jfreechart avec NetBeans mais je vais essayer.
En corrigeant mon bout de code, et ça marche, vous me rendez un espoir immense. Je ne sais comment vous remercier. Champagne si vous voulez.
Prof en collège, j'ai 62 ans, et je tiens à défendre les étudiants. Il n'y a pas de droit des études comme on a le droit du travail qui gère la relation de subordination.
Apprendre seul, c'est galère. Merci vraiment Codes-Sources. Les articles sont pointus, je n'osais pas.

Régis Lambert, à Luynes.

grandMerci
0

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

Posez votre question
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
26 août 2011 à 11:18
heureusement ;o) il y a la 'toile' ;o) ... ;o) quand j ai commencé ;o) y avait RIEN ;o) héhé ;o)


GodConan ;o)
0
Rejoignez-nous