0

I'm trying to refresh a chart in JavaFX but I get the error :

Exception in thread "JavaFX Application Thread" java.lang.IllegalArgumentException: Duplicate series added

Here is my code :

private XYChart.Series<Number, Number> frequenciesSource;
private double timeStamp=System.currentTimeMillis();
private LineChart<Number, Number> lineChart;

(...)

   Platform.runLater(()
    -> {
        lineChart.getData().remove(frequenciesSource);
        if (0!=frequenciesSource.getData().size()) {
            System.out.println("FrequenceyCharts.update : frequenciesSource.size !=0 => LET'S EMPTY IT !");
            frequenciesSource.getData().remove(0, frequenciesSource.getData().size());
        } else {
            System.out.println("FrequenceyCharts.update : frequenciesSource.size == 0");

        System.out.println("FrequencyCharts.update : linechart contains frequenciesSource ? "+lineChart.getData().contains(frequenciesSource));
        int dotsNumber=0;
        for (float[] chartPoint:chartPoints) {              
            dotsNumber+=1;
            if (dotsNumber<100 && 0!=chartPoint[0]) {   
                frequenciesSource.getData().add(new XYChart.Data<Number, Number>((Number) chartPoint[0],(Number) chartPoint[1]));               
            }
        }
        System.out.println("FrequencyCharts.update : linechart empty ? "+lineChart.getData().isEmpty());
        lineChart.getData().add(frequenciesSource);
    }
);

And, here is the result displayed in the console :

FrequenceyCharts.update : frequenciesSource.size == 0
FrequencyCharts.update : linechart contains frequenciesSource ? false
FrequencyCharts.update : linechart empty ? true 
Exception in thread "JavaFX Application Thread" java.lang.IllegalArgumentException: Duplicate series added

The line identified as causing the problem is :

lineChart.getData().add(frequenciesSource);

My serie frequenciesSource is not anymore in my lineChart and the lineChart is empty. So, why do I get this error "Duplicate series added" when I try to add it ?

Thank you for your help. :-)

fabian
  • 80,457
  • 12
  • 86
  • 114
Dr_Click
  • 449
  • 4
  • 16

0 Answers0