salut les dévellopeurs , he débute avec JFreeChart et je veux tracer un graphe en utilisant XYLineChart , ce que je trouve c'est que ca se fait de façon statique, mais moi je veux apres l'excution de mon programme en cliquant sur un point sur le plan le point cliqué s'ajoute au dataset et la ligne se dessine dynamiquement, quelqu'un a déjas travailler sur ca?? voici le bout de mon code d'entrainement , j'ai vraiment besoin d'un bon coup de pousse!!!
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
 
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package audiogramme;
 
/**
 *
 * @author user
 */
 
import java.awt.Color; 
import java.awt.BasicStroke; 
import java.awt.Point;
import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D;
 
import org.jfree.chart.ChartPanel; 
import org.jfree.chart.JFreeChart; 
import org.jfree.data.xy.XYDataset; 
import org.jfree.data.xy.XYSeries; 
import org.jfree.ui.ApplicationFrame; 
import org.jfree.ui.RefineryUtilities; 
import org.jfree.chart.plot.XYPlot; 
import org.jfree.chart.ChartFactory; 
import org.jfree.chart.ChartMouseEvent;
import org.jfree.chart.ChartRenderingInfo;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.event.ChartProgressEvent;
import org.jfree.chart.event.ChartProgressListener;
import org.jfree.chart.plot.PlotOrientation; 
import org.jfree.data.xy.XYSeriesCollection; 
import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
import org.jfree.data.general.DatasetUtilities;
import org.jfree.ui.RectangleEdge;
 
public class XYLineChart_ESSAIE1 extends ApplicationFrame {
      final XYSeriesCollection dataset = new XYSeriesCollection( );   
         final XYSeriesCollection dataset1 = new XYSeriesCollection( ); 
     final XYSeries audiogramme = new XYSeries( "Audiogramme" ); 
        final XYSeries firefox = new XYSeries( "Firefox" ); 
 
ChartPanel chartPanel;
     final XYSeriesCollection Madataset = new XYSeriesCollection( ); 
    private Object xCrosshair;
 
   public XYLineChart_ESSAIE1( String applicationTitle, String chartTitle ) {
      super(applicationTitle);
      JFreeChart xylineChart = ChartFactory.createXYLineChart(
         chartTitle ,
         "Category" ,
         "Score" ,
         createDataset() ,
         PlotOrientation.VERTICAL ,
         true , true , false);
 
 
 
      chartPanel = new ChartPanel( xylineChart );
 
      chartPanel.setPreferredSize( new java.awt.Dimension( 560 , 367 ) );
 
      final XYPlot plot = xylineChart.getXYPlot( );
 
      XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer( );
      renderer.setSeriesPaint( 0 , Color.RED );
      renderer.setSeriesPaint( 1 , Color.GREEN );
      renderer.setSeriesPaint( 2 , Color.YELLOW );
      renderer.setSeriesStroke( 0 , new BasicStroke( 4.0f ) );
      renderer.setSeriesStroke( 1 , new BasicStroke( 3.0f ) );
      renderer.setSeriesStroke( 2 , new BasicStroke( 2.0f ) );
      plot.setRenderer( renderer ); 
      setContentPane( chartPanel ); 
  xylineChart.addProgressListener(new ChartProgressListener() {
          private Object firefox1;
 
        @Override
      public void chartProgress(ChartProgressEvent cpe) {
        if(cpe.getType()==ChartProgressEvent.DRAWING_FINISHED){
         System.out.println("Click event!");
        XYPlot xyPlot2 = chartPanel.getChart().getXYPlot();
        System.out.println(xyPlot2.getDomainCrosshairValue() + " "
            + xyPlot2.getRangeCrosshairValue());
 
 
        }
        }
    });  
   }
 
 
   private XYDataset createDataset( ) {
 
      firefox.add( 1.0 , 1.0 );          
      firefox.add( 2.0 , 4.0 );          
      firefox.add( 3.0 , 3.0 );           
      dataset.addSeries( firefox );          
      return dataset;
   }
 
 
   public static void main( String[ ] args ) {
      XYLineChart_ESSAIE1 chart = new XYLineChart_ESSAIE1("Browser Usage Statistics",
         "Which Browser are you using?");
      chart.pack( );          
      RefineryUtilities.centerFrameOnScreen( chart );          
      chart.setVisible( true ); 
   }
}
merci d'avance