2017-09-11 14 views
1

私は、JavaFXで動的に作成された円グラフのセット内の既存のデータを取得および更新する方法を理解しようとしています。これらの円グラフはすべてArrayListに保存されます。最初のタスクは、そのデータを取得する方法を把握することです。私はデータ名を読み取ることができますどのように動的に生成されたJavaFX PieChartからデータを取得する方法は?

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

任意のアイデア:私は流体データソースのセットから動的にこれらの円グラフを作成していたように、私はこのようなコードを使用して複数の観察可能なリストを作ることができない

動的に生成された各円グラフスライスの値

+1

ようこそスタックオーバーフロー - あなたを持っていいです。 [良い質問をするにはどうすればいいですか](https://stackoverflow.com/help/how-to-ask)をお読みください。 Stack Overflowのコンテンツを可能な限り高いレベルに保ち、適切な答えを得る機会を増やすために、特に[最小限で完全で検証可能な例を作成する方法](https://stackoverflow.com/help/mcve)を参照してください。 –

+0

なぜ、各グラフに対して単一のObservableListを変更しないのですか? – trashgod

+0

これは、チャートの数が固定されていると考えられますが、チャートの実際の数は情報量に応じて変わる可能性があります。または、観測可能リストを各チャートに動的にリンクすることをお勧めしますか?私はそれがどのようにその場で行うことができるか分かりません。 – vachina

答えて

1

すべてPieChart(ビュー)はdataプロパティを使用してObservableList<PieChart.Data>(モデル)にアクセスできます。 listという名前List<PieChart>を考えると、あなたはリストを横断し、保証として各チャートのデータを調べたり、更新することができます。

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<PieChart>、モデルのリストの維持を検討、List<ObservableList<PieChart.Data>>

+0

本当に便利な答えがありがとうございました! – vachina

関連する問題