Как сказал Клеопатра, вы не можете добавлять Компоненты как элементы.Предметы должны быть объектами только с данными.
Если вы пытаетесь добавить метки, я предполагаю, что вы хотите показать строку в каждой ячейке, поэтому вы должны делать что-то вроде:
ListView<String> listView = new ListView<>();
listView.setPrefSize(400,450);
listView.getItems().addAll("Foo", "Bar", "Baz");
Для настройки внешнего вида лучше просто использовать css.
.list-cell { -fx-text-fill: black; }
.list-cell:odd { -fx-background-color: white;}
.list-cell:even { -fx-background-color: #8f8; }
И ... Если вы хотите настроить способ отображения и поведения каждой ячейки, вы устанавливаете фабрику ячеек следующим образом:
listView.setCellFactory(new Callback<ListView<String>, ListCell<String>>() {
@Override
public ListCell<String> call(ListView<String> param) {
ListCell<String> cell = new ListCell() {
@Override
protected void updateItem(Object item, boolean empty) {
super.updateItem(item, empty);
setGraphic(null);
if (empty || item == null) {
setText(null);
}
else {
setText((String) item);
}
}
};
return cell;
}
});
Обычно при создании фабрики ячеек обычно перезаписывают updateItem (чтобы настроить ячейку для отображения содержимого элемента) и commitEdit (чтобы сохранить в элементе результат редактирования ячейки).