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 :

Insérer graphe dans un JPanel


Sujet :

AWT/Swing Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 152
    Points : 64
    Points
    64
    Par défaut Insérer graphe dans un JPanel
    Bonjour,

    Je voudrais insérer un JFreeChart (http://www.tutorialspoint.com/jfreec...line_chart.htm) dans un JPanel. J'ai essayé de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    JPanel pan = new JPanel();
    pan.setSize(200, 150);
    pan.setBackground(Color.ORANGE); 
    panel.add(pan, BorderLayout.WEST);	
    setContentPane(panel);
    JFreeChart lineChart = ChartFactory.createLineChart("graphe","Years","Number of Schools",createDataset(),PlotOrientation.VERTICAL,true,true,false);        
    panel.add(lineChart, BorderLayout.WEST);
    setContentPane(panel);
    Mais j'ai une erreur à la compilation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Interface.java:73: error: no suitable method found for add(JFreeChart,String)
    		panel.add(lineChart, BorderLayout.WEST);
    		     ^
        method Container.add(Component,Object,int) is not applicable
          (actual and formal argument lists differ in length)
        method Container.add(Component,Object) is not applicable
          (actual argument JFreeChart cannot be converted to Component by method invocation conversion)
        method Container.add(Component,int) is not applicable
          (actual argument JFreeChart cannot be converted to Component by method invocation conversion)
        method Container.add(String,Component) is not applicable
          (actual argument JFreeChart cannot be converted to String by method invocation conversion)
        method Container.add(Component) is not applicable
          (actual and formal argument lists differ in length)
        method Component.add(PopupMenu) is not applicable
          (actual and formal argument lists differ in length)
    1 error
    Ce n'est juste pas possible de faire ça ou je le fais mal ? Au pire je fais dans une autre fenetre mais ça serait vraiment mieux de pouvoir le mettre dans mon panel...

    Merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 075
    Points : 7 981
    Points
    7 981
    Par défaut
    En fait JFreeChart n'est pas en soi un composant affichage tel quel. Tu dois passer par un ChartPanel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    JFreeChart chart = createChart(..., ....);
    ChartPanel chartPanel = new ChartPanel(chart);
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 152
    Points : 64
    Points
    64
    Par défaut
    D'accord, merci.
    Et on peut mettre ce ChartPanel dans un JPanel ? (je ne peux pas encore essayer)

  4. #4
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 075
    Points : 7 981
    Points
    7 981
    Par défaut
    Oui bien sure, ChartPanel est lui même un JPanel.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 152
    Points : 64
    Points
    64
    Par défaut
    Ok, merci pour l'aide!

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

Discussions similaires

  1. JFreeChart : insérer graphe dans un JPanel
    Par greendaynad dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 14/08/2014, 11h06
  2. Graphe dans un JPanel
    Par JTABLE dans le forum Débuter
    Réponses: 4
    Dernier message: 17/01/2014, 17h36
  3. Insérer graphes dans une table de sortie
    Par joyeux_lapin13 dans le forum R
    Réponses: 2
    Dernier message: 24/05/2011, 11h00
  4. Insérer ChartPanel dans un Jpanel ou canvas ou Jlabel
    Par harris_macken dans le forum Agents de placement/Fenêtres
    Réponses: 8
    Dernier message: 29/04/2008, 15h12
  5. Insérer un tableau d'objet dans un Jpanel
    Par Flophx dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 25/04/2006, 20h37

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