2011-07-27 34 views
3

我试图定义一个小程序,必须每n毫秒更新一次图表。例如每500毫秒。这是代码的一部分:JFreeChart DynamicTimeSeriesCollection,周期为n毫秒

dataSet = new DynamicTimeSeriesCollection(1, 200, new Millisecond()); 
dataSet.setTimeBase(new Millisecond()); 

当我启动应用程序时,它返回第二行引发的NullPointerException异常。如果我用秒代替Milliseconds,它可以工作。

现在的问题是:我怎样才能设置一个毫秒的时间段而没有异常?

感谢

回答

4

它看起来像pointsInTimeMillisecond不被初始化,但你可以在子类构造函数来完成:

private static class MilliDTSC extends DynamicTimeSeriesCollection { 

    public MilliDTSC(int nSeries, int nMoments, RegularTimePeriod timeSample) { 
     super(nSeries, nMoments, timeSample); 
     if (timeSample instanceof Millisecond) { 
      this.pointsInTime = new Millisecond[nMoments]; 
     } 
    } 
} 
+0

所以,是一个JFreeCharts错误呢? –

+1

可以说,是的;来源中的评论建议更多的是_todo_。 – trashgod

+0

明天早上我会在办公室尝试。 如何设置500毫秒的时间?这取决于我添加新数据的频率吗? – Maverik