【问题标题】:How to get data from dynamically generated JavaFX PieChart?如何从动态生成的 JavaFX PieChart 中获取数据?
【发布时间】:2017-09-11 05:57:38
【问题描述】:

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

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

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

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

【问题讨论】:

  • 欢迎来到 Stack Overflow - 很高兴有你。请阅读How do I ask a good question?尤其是How to create a Minimal, Complete, and Verifiable example 有助于将 Stack Overflow 的内容保持在尽可能高的水平,并增加您获得适当答案的机会。
  • 为什么不为每个图表修改一个ObservableList
  • 如果图表的数量是固定的,这将是一个想法,但是实际的图表数量可能会根据信息量而有所不同。或者您是否建议将可观察列表动态链接到每个图表?我不确定如何即时完成。
  • 我已经在下面详细说明了。

标签: java javafx graph


【解决方案1】:

每个PieChart(视图)都可以通过其data 属性访问它自己的ObservableList&lt;PieChart.Data&gt;(模型)。给定一个名为 listList&lt;PieChart&gt;,您可以遍历列表并根据需要检查或更新每个图表的数据:

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

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

Data[Sun,42.0]
Data[IBM,12.0]
Data[HP,25.0]
Data[Dell,22.0]
Data[Apple,30.0]

作为拥有视图列表List&lt;PieChart&gt; 的替代方法,请考虑维护模型列表List&lt;ObservableList&lt;PieChart.Data&gt;&gt;

【讨论】:

    猜你喜欢
    • 2021-05-16
    • 1970-01-01
    • 2010-10-14
    • 2016-01-05
    • 1970-01-01
    • 1970-01-01
    • 2020-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多