Java и JFreechart: получить только измененную запись из DatasetChangeEvent
-
27-10-2019 - |
Вопрос
Я использую код DatasetChangeListener
для отслеживания модификации некоторого кода XYSeriesCollection
, потому что изменение в одной серии должно отражаться на других сериях диаграмм моего приложения.
Я использую DatasetGroup
для хранения строки, однозначно идентифицирующей набор данных.
Дело в том, что я хотел бы знать только одну запись набора данных, в которой произошло изменение, в противном случае я буду вынужден перебирать весь набор данных и проверять все данные.Есть ли способ сделать это?
Например, я хотел бы знать, что для серии 1 в коллекции произошло изменение значения y третьего элемента.Возможно ли такое?
Решение
Dataset
, возвращаемый getDataset()
, вероятно, бесполезен в этом контексте.Вместо этого посмотрите на источник SeriesChangeEvent
.Вам, вероятно, придется переопределить один или несколько методов add()
в подклассе XYSeries
для отслеживания деталей изменения.
Другие советы
Я частично решил использовать SeriesChangeListener и добавить строку описания к каждой серии, но мне все равно нужно проверить все значения внутри серии. Это лучшее решение, чем использование DatasetChangeListener (мне не нужно проверять все значения всех серий в наборе данных), но оно не идеально.