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

2D Java Discussion :

[JfreeChart]Probleme chart ne s'affiche pas


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 54
    Par défaut [JfreeChart]Probleme chart ne s'affiche pas
    salut à tous,

    j'ai un petit problème,je n'arrive pas à afficher le chart sur ma jsp.
    Vous allez certainement me parler du problème de tooltip mais je ne l'utilise pas.
    Par contre, dans la console il m'affiche bien le nom du fichier .

    code de ma servlet envoyer avec un doPost :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    	DefaultCategoryDataset dataset = new DefaultCategoryDataset();
     
    				resultSet = statement.executeQuery(Requete);
    				while (resultSet.next())
    				{
    					rte_name = resultSet.getString(1);
    					int qty = Integer.decode(resultSet.getString(2));
     
    					dataset.addValue(qty, rte_name, "J1");
    					dataset.addValue(qty, rte_name, "J2");
    				}
     
    				//  Create the chart object
    				CategoryAxis categoryAxis = new CategoryAxis("");
    				ValueAxis valueAxis = new NumberAxis("");
    				StackedBarRenderer renderer = new StackedBarRenderer();
    				renderer.setBaseItemURLGenerator(new StandardCategoryURLGenerator("LotList.jsp","techno","jalon"));
    				renderer.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator());
     
    				Plot plot = new CategoryPlot(dataset, categoryAxis, valueAxis, renderer);
    				JFreeChart chart = new JFreeChart("", JFreeChart.DEFAULT_TITLE_FONT, plot, true);
    				chart.setBackgroundPaint(java.awt.Color.white);
     
    				//Write the chart image to the temporary directory
    				ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());				
    				String filename = null;
    				filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, info, req.getSession());				
    				System.out.println("Filename: "+filename);
    				//OutputStream myout = resp.getOutputStream();
    				//ChartUtilities.writeChartAsPNG(myout, chart, 600, 400);
     
    				//  Write the image map to the PrintWriter
    				//ChartUtilities.writeChartAsPNG(out, chart, 600, 400);
    				//out.println(resp.getWriter());
    	            ChartUtilities.writeImageMap(out, filename, info, true);
    	            out.println("<img src="+filename+" width=500 height=300 border=0 usemap=#"+filename+">");
    	            System.out.println("Fin");
    	            out.flush();
    				out.close();

    La jsp ou je dois afficher ce chart est commandé à l'aide d'un button refresh qui est lui dans une autre jsp.
    mais le probleme ne vien pas de la

    Je pense que j'ai un probleme soit sur le chemin du filename
    ou
    côté client le flux de sortie out.println ne le renvoie pas au client

    Si quelqu'un peut éclaircir ma lanterne c cool.
    Merci d'avance pour vos réponses.

  2. #2
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 54
    Par défaut
    bon aprés plusieurs mois de travail sur jfreechart
    maintenant j'ai un peu de temps pour répondre:

    donc en fait il faut que dans le fichier '.java' (coté serveur)

    tout début du fichier : on déclare de la façon suivante
    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
    17
    18
    19
    20
     
     
    //nom de ma fonction : "generateBarChart" dans une classe Chart par exemple 
    public static String generateBarChart(HttpSession session, PrintWriter pw)
     
    //on déclare une var String filename qu'on récupere en fin de fichier
    String filename = null;
     
    //milieu 
    /*votre traitement */
     
    //en fin du fichier
    chart.setBackgroundPaint(java.awt.Color.white);
    ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
    filename = ServletUtilities.saveChartAsPNG(chart, width, height, info, session);
     
    /*******_Write the image map to the PrintWriter_********/
    ChartUtilities.writeImageMap(pw, filename, info, false);
     
    return filename;
    puis dans la jsp (coté client) on récupere la variable :filename
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    //bien sur dans les balises <%....%> pour mettre du java dans une jsp
     
    <%
    String filename = Techno_Jalon.generateBarChart(session, new PrintWriter(out));
    String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename;
    %>

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 12/02/2009, 14h54
  2. [Line Chart] Les lignes ne s'affichent pas
    Par padhalur dans le forum iReport
    Réponses: 3
    Dernier message: 04/12/2008, 11h31
  3. probleme loadMovie n'affiche pas ma photo
    Par daucle dans le forum Flash
    Réponses: 2
    Dernier message: 03/11/2008, 18h15
  4. Probleme PHP qui ne s'affiche pas
    Par somewere dans le forum 1&1
    Réponses: 4
    Dernier message: 12/12/2007, 17h37
  5. probleme tabsheet ne s'affiche pas correctement
    Par Mihalis dans le forum Delphi
    Réponses: 9
    Dernier message: 07/06/2007, 22h23

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