JFreeChart 动态时间序列集合,周期为 n 毫秒

3

我正在尝试定义一个带有图表的小程序,需要每n毫秒更新一次。例如,每500毫秒更新一次。以下是代码的一部分:

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

当我启动应用程序时,它返回了第二行引发的NullPointerException。如果我将Milliseconds替换为Seconds,它就可以工作。
问题是:如何设置n毫秒的时间间隔而不出现异常?
谢谢
1个回答

4

看起来,在 Millisecond 中, pointsInTime 没有被初始化,但您可以在子类构造函数中进行初始化:

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];
        }
    }
}

1
可以说是的;源代码中的注释表明更多的是一个_todo_。 - trashgod
1
它运行了!非常感谢!!!现在我只有关于500毫秒的时间段存在疑问。 - Maverik
抱歉,这将是最后一个问题 ;) 我查看了示例,并在构建我的应用程序时使用它作为指南。似乎系列中样本的周期“x”值取决于我添加它的时间。这是正确的吗?如果我在0.1秒时添加一个样本,然后在0.3秒时添加另一个样本,那么0.1和0.3将是这两个样本的“x”值吗?谢谢 - Maverik
2
啊,我认为你可以使用 addValue() 来达到你想要的效果。 - trashgod
我正在尝试扩展 Millisecond 类并覆盖 next 和 previous 方法,使它们返回 t + 500ms 值和 t-500ms 值。但是它不起作用... 我漏掉了什么东西。 - Maverik
显示剩余10条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接