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

Interfaces Graphiques en Java Discussion :

Convertir un "camenbert" au format PNG


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 25
    Par défaut Convertir un "camenbert" au format PNG
    Bonjour
    J'utilise la librairie jFreeChart et je souhaiterai sauvegarder mon camenbert (PieChart) au format PNG avec la méthode:
    saveChartAsPNG(file, chart, width, height).
    Je vous donne un petit bout de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public static void saveChartAsPNG(File file, JFreeChart chart, int width, int height) throws IOException {
     
            //defer argument checking...
            saveChartAsPNG(file, chart, width, height);
     
    public static void main(String[] args) {
     
            PieChartDemo1 demo = new PieChartDemo1("PieChartDemo1");
            demo.pack();
            RefineryUtilities.centerFrameOnScreen(demo);
            demo.setVisible(true);
    }
    Pourriez vous m'aider à trouver la solution, je vous en remercie d'avance!

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Quel est le problème ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 25
    Par défaut
    le probléme est que, lorsque je compile mon .class, j'obtiens ceci:
    G:\jfreechart-1.0.11\source\org\jfree\chart\demo>make

    G:\jfreechart-1.0.11\source\org\jfree\chart\demo>javac -d classes -Xlint:unchecked PieChartDemo1.java
    PieChartDemo1.java:123: cannot find symbol
    symbol : method saveChartAsPNG(java.lang.String,org.jfree.chart.JFreeChart,int,int)
    location: class org.jfree.chart.ChartUtilities
    ChartUtilities.saveChartAsPNG("TOTO.PNG", chart, 50, 50);
    ^
    1 error
    Il ne détecte pas ma méthode saveChartAsPNG qui se trouve dans le fichier ChartUtilities.java. Poutant dans mon fichier PieChartDemo1.java, j'importe bien le fichier ChartUtilities avec son chemin.

  4. #4
    Membre Expert

    Homme Profil pro
    Responsable des études
    Inscrit en
    Mars 2009
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2009
    Messages : 553
    Par défaut
    La lecture du message d'erreur fait apparaître que tu fournis un String à la place d'un File.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 25
    Par défaut
    D'accord et comment je fais pour le file, il faut que je le crée moi même ou il sera créer automatiquement avec la méthode saveChartAsPNG???

  6. #6
    Membre émérite Avatar de Jidefix
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 742
    Par défaut
    D'accord et comment je fais pour le file, il faut que je le crée moi même ou il sera créer automatiquement avec la méthode saveChartAsPNG???
    J'ai envie de dire, try and see, ça sera encore plus rapide...

    sinon un petit indice:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ChartUtilities.saveChartAsPNG(new File("TOTO.PNG"), chart, 50, 50)

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 25
    Par défaut
    J'ai mis dans mon programme ton petit indice, mais il me détecte des erreurs!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    G:\jfreechart-1.0.11\source\org\jfree\chart\demo>javac -d classes -Xlint:uncheck
    ed PieChartDemo1.java
    PieChartDemo1.java:102: cannot find symbol
    symbol  : class File
    location: class PieChartDemo1
        public static void saveChartAsPNG(File file, JFreeChart chart, int width, in
    t height) throws IOException {
                                          ^
    PieChartDemo1.java:131: cannot find symbol
    symbol  : class File
    location: class PieChartDemo1
            ChartUtilities.saveChartAsPNG(new File("TOTO.PNG"), chart, 50, 50);
                                              ^
    2 errors

  8. #8
    Membre émérite Avatar de Jidefix
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 742
    Par défaut
    Euh... je dirai qu'il faut importer java.io.File au début...

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 25
    Par défaut
    exacte j'avais oublié que je l'avais mis en com, mais ca ne fonctionne toujours pas.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    G:\jfreechart-1.0.11\source\org\jfree\chart\demo>javac -d classes -Xlint:uncheck
    ed PieChartDemo1.java
    PieChartDemo1.java:132: unreported exception java.io.IOException; must be caught
     or declared to be thrown
            ChartUtilities.saveChartAsPNG(new File("TOTO.PNG"), chart, 50, 50);
                                         ^
    1 error

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 25
    Par défaut
    Pourtant dans mon fichier ChartUtilities.java, je déclare ma méthode:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     public static void saveChartAsPNG(File file, JFreeChart chart,
                int width, int height) throws IOException {
     
              saveChartAsPNG(file, chart, width, height);

  11. #11
    Membre émérite Avatar de Jidefix
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 742
    Par défaut
    unreported exception java.io.IOException; must be caught
    or declared to be thrown
    la fonction saveChartAsPNG(file, chart, width, height) déclare qu'elle risque de lancer une exception.
    Donc si tu l'utilise dans fonction toto, tu dois soit la catcher dans cette fonction, soit déclarer dans ta fonction que ta fonction saveChartFileAsPNG lance l'exception IOException.

    Si tu comprends rien à ce que je viens de te dire je te conseille de regarder cette FAQ la sur les exceptions java:
    http://java.developpez.com/faq/java/?page=exception

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 25
    Par défaut
    Bon jidefix, j'ai lu le lien que tu m'as filé sur Try/Catch, donc j'ai fais le nécessaire là ou il fallait, donc ce point de vue, là ou il y avait une erreur, l'erreur n'est plus sauf que j'ai l'impression d'avoir une Propagation d'une exception.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public static JPanel createDemoPanel()
     {
       try
      {
        JFreeChart chart = createChart(createDataset());
      }
      catch (IOException e)
      {
        /** ... mon traitement si cette erreur intervient */
      }
     
    return new ChartPanel(chart);
    }
    Dans cette méthode, j'ai du aussi mettre un Try/catch car il gueulait sinon lors de la compilation, sauf que maintenant en le mettant, il ne reconnait pas ma variable chart qui a était déclaré en tant que jFreeChart chart.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Erreur à la compile:
    G:\jfreechart-1.0.11\source\org\jfree\chart\demo>javac -d classes -Xlint:uncheck
    ed PieChartDemo1.java
    PieChartDemo1.java:170: cannot find symbol
    symbol  : variable chart
    location: class PieChartDemo1
            return new ChartPanel(chart);
                                  ^
    1 error

  13. #13
    Membre émérite Avatar de Jidefix
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 742
    Par défaut
    Normal chart a été déclaré dans le bloc TRY, elle n'est donc visible que dans ce bloc.
    Il faut déclarer ta variable en dehors du bloc try/catch:
    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
     
    public static JPanel createDemoPanel()
     {
       JFreeChart chart = null;
       try
      {
        chart = createChart(createDataset());
      }
      catch (IOException e)
      {
        /** ... mon traitement si cette erreur intervient */
      }
     
    return new ChartPanel(chart);
    }

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 25
    Par défaut
    Ok Jidefix, merci pour tout, ca marche, tu viens de me retirer une grosse épine du pied. Merci l'ami!!!!!!!

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

Discussions similaires

  1. Réponses: 23
    Dernier message: 12/02/2014, 12h27

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