Ciao a tutti, come da oggetto della discussione, ho un problemino con un grafico JFreeChart, in pratica il grafico prende i dati da una 3 textField che cambiano valore in seguito ad un azione su di una comboBox, la prima volta riesco a visualizzare i dati, ma provo a cambiare mi mostra sempre il grafico precedente non aggiornando i dati.

VI posto il codice:

codice:
comboBoxAnnoStatistiche.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                
                //aggiorno le textField
                StatisticheConcessioni sc = new StatisticheConcessioni();
                String periodo = (String)comboBoxAnnoStatistiche.getSelectedItem();
                sc.calcolaOneri(periodo);
                
                textFieldOneriRichiestiCanoni.setText(""+sc.oneriRichiestiC);
                textFieldOneriVersatiCanoni.setText(""+sc.oneriVersatiC);
                textFieldOneriNonVersatiCanoni.setText(""+sc.oneriNonVersatiC);
                
                textFieldOneriRichiestiSecFee.setText(""+sc.oneriRichiestiS);
                textFieldOneriVersatiSecFee.setText(""+sc.oneriVersatiS);
                textFieldOneriNonVersatiSecFee.setText(""+sc.oneriNonVersatiS);
                
                textFieldOneriRichiestiComplessivi.setText(""+sc.oneriRichiestiCC);
                textFieldOneriVersatiComplessivi.setText(""+sc.oneriVersatiCC);
                textFieldOneriNonVersatiComplessivi.setText(""+sc.oneriNonVersatiCC);
                
                DefaultPieDataset datasetCanone = new DefaultPieDataset( );             
                datasetCanone.setValue( "Oneri Richiesti" , sc.oneriRichiestiC );             
                datasetCanone.setValue( "Oneri Versati" , sc.oneriVersatiC);             
                datasetCanone.setValue( "Oneri Non Versati" , sc.oneriNonVersatiC );             
                
                JFreeChart chartCanone = ChartFactory.createPieChart3D( 
                   "Grafico Canoni" ,  // chart title                   
                   datasetCanone ,         // data 
                   true ,            // include legend                   
                   true, 
                   false);


                final PiePlot3D plot = ( PiePlot3D ) chartCanone.getPlot( );             
                plot.setStartAngle( 270 );             
                plot.setForegroundAlpha( 0.60f );             
                plot.setInteriorGap( 0.02 );
                
                ChartPanel graficoCanone = new ChartPanel(chartCanone);
                graficoCanone.setBounds(10, 14, 450, 255);
                contenitoreGraficoCanone.add(graficoCanone);
            }
        });
Ho già fatto una ricerca su internet, dicevano di usare il metodo repaint(), ma purtroppo non ho ottenuto nessun risultato.

Vi ringrazio sempre in anticipo!

Grazie!