2016-12-11 32 views
0

JavaFXでXYChart.Series<String, Number>の配列を作成できるかどうかを知りたいですか?JavaFXでXYChart.Seriesの配列を作成することは可能ですか?

データベース上の人物ごとにXYChart.Seriesを作成する必要があり、LineChartXYChart.Series<String, Number>の配列を作成しようとしましたが、できませんでした。

これは私が試したものです:

List<XYChart.Series<String, Number>> seriesList = new ArrayList<XYChart.Series<String, Number>>(); 

私はそれをotherways行うにはどのようにわからなかったので。

私を助けてもらえますか?

+1

チャートは、それの 'のsetData()'メソッドの系列データの 'ObservableList'を取ります

のJava 8は、&はストリームAPIを介して短いコードを使用してアレイをinitilize作成する方法を提供します(chart.setData(seriesList); ')を呼び出すか、chart.getData()。add(mySeries);をそれぞれ呼び出すことができます。新しいグラフのデフォルトのコレクションを使用しています。 – Geoff

答えて

1

生の型の配列を作成し、それをジェネリック型で宣言された変数に割り当てることができます。

int size = ... 
XYChart.Series<String, Number>[] seriesArray = new XYChart.Series[size]; 

更新

配列要素が依然としてこのようにして生成されたアレイをnull要素が充填されているので、この方法を初期化する必要があります。あなたが持っていたことができるように

XYChart.Series<String, Number>[] seriesArray = Stream.<XYChart.Series<String, Number>>generate(XYChart.Series::new).limit(size).toArray(XYChart.Series[]::new); 
+0

ありがとうございます:)、なぜそれが私にNullPointerExceptionを与えます: seriesArray [i] .setName( "emri"); –

+0

@ErtanHasani配列は、 'Type [size]'を使って作成された場合、 'null'要素で埋められます。配列の要素にインスタンスを割り当てる必要があります。 – fabian

+0

私はこの行を最初に追加しました。[i] = new XYChart.Series ();今、私はスレッド "JavaFXアプリケーションスレッド" java.lang.ClassCastExceptionで例外を得ました:[Ljavafx.scene.chart.XYChart $ Series; javafx.scene.chart.XYChartにキャストすることはできません。$ –

関連する問題