Для динамического обновления набора данных для любого объекта JFreeChart
(извините, если я не использую круговую диаграмму для примера, но вы можете это выяснить):
Убедитесь, что ваши данные из БД заполнены в DataSet
объекте, где он является частью поля класса.
Создайте вспомогательный метод класса, который возвращает JFreeChart
, который содержит:
- a
ChartFactory
метод, который создает
JFreeChart
объект
- сюжет объекта
- любые объекты, которые позволяют диаграммы и
рендеринг сюжета и т. д.
Передайте этот DataSet
объект вашему ChartFactory
методу, который относится к типу диаграммы, которую вы хотите
Вызовите ваш вспомогательный метод класса из события или чего-то, что позволяет обновить диаграмму, когда она передает объект JFreeChart
объекту ChartPanel
...
chartPanel.setChart(createChart(axisX, axisY));
Если вы хотите, чтобы диаграмма обновлялась с интервалами, используйте объект на основе таймера для обновления кода.
Пример такого вспомогательного метода можно найти в моем другом посте:
Jfree график изменения данных оси Y