我正在使用DatasetChangeListener
来监控某些XYSeriesCollection
的修改,因为一个系列中的更改必须反映到我应用程序图表的其他系列中。
public void datasetChanged(DatasetChangeEvent arg0) {
XYSeriesCollection d = (XYSeriesCollection)arg0.getDataset();
System.out.println(d.getGroup().getID());
}
我正在使用DatasetGroup
来存储唯一标识数据集的字符串。
现在重点是,我想知道发生更改的数据集的单个条目,否则我被迫遍历所有数据集并检查所有数据。有没有办法做到这一点?
例如,我想知道在第三个元素的y值上,集合中的系列1发生了更改。这可能吗?
答案 0 :(得分:2)
我部分解决了使用SeriesChangeListener并为每个系列添加描述字符串,但我仍然需要检查系列内的所有值。 这是一个比使用DatasetChangeListener更好的解决方案(我不需要检查数据集中所有系列的所有值),但它并不完美。
答案 1 :(得分:2)
getDataset()
返回的Dataset
在此上下文中可能没用。相反,请查看SeriesChangeEvent
的来源。您可能必须覆盖XYSeries
子类中的一个或多个add()
方法来跟踪更改详细信息。