В вашем цикле вы создаете новый List
на каждой итерации. Поэтому, когда вы звоните setItems()
на ComboBox
, список option
содержит только один элемент.
Есть несколько других проблем с вашим циклом, но если у вас есть действительный массив, заполнить его ComboBox
довольно просто, используя метод Arrays.asList()
:
ObservableList<String> option = FXCollections.observableList(Arrays.asList(resultArray));
cbx1.setItems(option);
При этом я сомневаюсь, что вы получаете правильный массив со своей строкой:
resultArray[i] = lines.get(i).split("\t");
Не зная, что на самом деле lines
есть в вашем коде, трудно конкретно обратиться к этому, но похоже, что вы можете вообще пропустить resultArray
и просто использовать lines
.
Вызов метода split()
возвращает массив строк в любом случае. Возможно, вы могли бы полностью удалить цикл и просто попробовать:
ObservableList<String> options =
FXCollections.observableArrayList(Arrays.asList(lines.split("\t"));