如何从动态生成的JavaFX PieChart中获取数据?

时间:2017-09-11 05:57:39

标签: java javafx graph

我试图弄清楚如何在JavaFX中的一组动态创建的饼图中获取和更新现有数据。这些饼图全部保存在ArrayList中。第一项任务是弄清楚如何获取数据。

当我从一组流体数据源动态创建这些饼图时,我无法使用与此类似的代码创建多个可观察列表:

private ObservableList<PieChart.Data> dataList = FXCollections.observableArrayList();

有关如何从每个动态生成的饼图切片中读取数据名称和值的任何想法?

1 个答案:

答案 0 :(得分:1)

每个PieChart(视图)都可以通过其ObservableList<PieChart.Data>属性访问自己的data(模型)。给定名为List<PieChart>的{​​{1}},您可以遍历列表并按照保证检查或更新每个图表的数据:

list

控制台(来自Ensemble8 PieChartApp的数据):

list.get(0).getData().get(0).setPieValue(42);
for (PieChart p : list) {
    for (PieChart.Data data : p.getData()) {
        System.out.println(data);
    }
}

作为拥有观看列表的替代方法Data[Sun,42.0] Data[IBM,12.0] Data[HP,25.0] Data[Dell,22.0] Data[Apple,30.0] ,请考虑维护模型列表List<PieChart>