2014-04-16 5 views
0

Je ne sais pas pourquoi une erreur se produit ici? J'utilise le JFreeChart API et en essayant de créer une série xy. J'ai ajouté le message d'erreur ci-dessous le code. La méthode principale appelle simplement cette méthode pour l'exécuter.Problème avec JFreeChart XYSeries

public class CreateGraph { 
    private String fileInput="F:/FunctionTrader/testFiles/test1.txt"; 
    private XYSeries bunch=new XYSeries(null); 

    public void test() throws FileNotFoundException, IOException { 
     try (BufferedReader br = new BufferedReader(new FileReader(this.fileInput))) { 
      String modBarVals; 
      while ((modBarVals=br.readLine()) != null){ 
       String[] split = modBarVals.split("\\s+"); 
       double x = Double.parseDouble(split[0]); 
       double y = Double.parseDouble(split[1]); 
       bunch.add(x,y); //error occurs here? 
      } 
      System.out.println(bunch.getItemCount()); 
     } 
    } 
} 

Exception stacktrace:

Exception in thread "main" java.lang.ExceptionInInitializerError 
    Caused by: java.lang.IllegalArgumentException: Null 'key' argument. 
     at org.jfree.chart.util.ParamChecks.nullNotPermitted(ParamChecks.java:65) 
     at org.jfree.data.general.Series.<init>(Series.java:120) 
     at org.jfree.data.general.Series.<init>(Series.java:110) 
     at org.jfree.data.xy.XYSeries.<init>(XYSeries.java:172) 
     at org.jfree.data.xy.XYSeries.<init>(XYSeries.java:145) 
     at IO2x.CreateGraph.<init>(CreateGraph.java:17) 
     at IO2x.MainClass.<clinit>(MainClass.java:17) 
+0

J'ai remarqué cela et l'ai changé mais le problème est resté .... je l'ai résolu maintenant. C'était parce que mon fichier texte contenait une ligne vide en bas et l'analyseur essayait d'analyser une chaîne vide, ce qu'il ne pouvait pas ..... alors j'ai fait marche arrière la ligne .... problème résolu :) . ..il peut être les choses les plus simples, ne peut pas ... mais quelque chose à regarder 4? – user3541263

+0

S'il vous plaît ajouter une réponse avec une solution détaillée et la marque est acceptée si le problème est résolu. –

Répondre

0

Le stacktrace vous dit que vous ne pouvez pas utiliser un nullComparable key dans le XYSeries pour. Vous pouvez utiliser

private XYSeries bunch = new XYSeries("My Data");