2016-12-11 2 views
0

Я хочу знать, могу ли я создать массив из XYChart.Series<String, Number> на JavaFX?Возможно ли создать массив XYChart.Series на JavaFX?

Потому что мне нужно создать XYChart.Series для каждого человека в базе данных, и я попытался сделать массив XYChart.Series<String, Number> для моего LineChart, но я не мог.

Это то, что я пробовал:

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

Потому что я понятия не имел, как это сделать Otherways.

Не могли бы вы помочь мне?

+1

Диаграмма принимает 'ObservableList' данных серии для его' УстановитьДанные() 'метод, так что вы могли бы иметь 'ObservableList seriesList = FXCollections.observableArrayList();' then 'chart.setData (seriesList);' или вы можете вызвать 'chart.getData(). Add (mySeries);' для каждого по мере его создания/их, который использует коллекцию по умолчанию в новом графике. – Geoff

ответ

1

Вы можете создать массив необработанного типа и назначить его переменной, объявленной с общим типом.

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

Update

элементы массива по-прежнему необходимо инициализировать этот путь, так как массивы генерируются таким образом заполняются null элементами.

Java 8 обеспечивает способ создания & initilize массива с помощью короткого кода с помощью потоков API:

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 Массивы заполняются элементами 'null', если они создаются с помощью' Type [size] '. Вам все равно нужно назначать экземпляры элементам массива. – fabian

+0

Я добавил эту строку в первую серию [i] = новый XYChart.Series (); и теперь я получил исключение в потоке «JavaFX Application Thread» java.lang.ClassCastException: [Ljavafx.scene.chart.XYChart $ Series; невозможно передать в javafx.scene.chart.XYChart $ Series –

Смежные вопросы