使用JFree图表更改系列时的随机错误我正在制作一个GUI,显示背景计算的结果。但在此之前,我想测试更改数据集。这是我的代码: DefaultXYDataset dataset = new DefaultXYDataset();@Override
public void run() {
// TODO Auto-generated method stub
for (int i = 0; i < periods; i++) {
series[0][i] = (double) i;
series[1][i] = 0;
}
dataset.addSeries("Series0", series);
for (int it = 0; it < 10; it++) {
series[1][random.nextInt(periods)] = random.nextInt(100) / 2;
double[][] d = new double[2][periods];
for (int i = 0; i < periods; i++) {
d[0][i] = series[0][i];
d[1][i] = series[1][i];
}
dataset.removeSeries("Series0");
dataset.addSeries("Series0", series);//
try {//
Thread.sleep(100);//
} catch (java.lang.InterruptedException ex) {// }
}正如您所看到的,我希望更改图形上的点(每次它完成“一些复杂的计算”)-这种更改是在我在另一个类中调用的线程中进行的。我的问题是,这整个概念是行不通的。它抛出了“系列索引超出界限”-IllegalArgumentException,“超出界限的索引”-一些图书馆内部数组等等。我不使用DynamicTimeSeriesCollection,因为我需要X轴作为我内部迭代的次数,而不是时间周期,还需要在“一些计算”完成时更新,而不是每隔一段时间更新一次。你能告诉我做错了什么吗?还是有更好的方法来更新/刷新图表?
添加回答
举报
0/150
提交
取消