у меня есть такая строка
private ListProperty<String> nameLink = new SimpleListProperty<>();
Я хочу в конструкторе добавить пару элементов для проверки работоспособности программы, но с этим возникли проблемы, как я понимаю = new SimpleListProperty<>()
создает мне объект типа именно SimpleListProperty<>
, но в нем методов добавления элементов нет, так же я могу воспользоваться методами ListProperty<>
, и там я нашел
public void setValue(ObservableList<E> v) {
set(v);
}
Как я понимаю, используя этот метод, я должен использовать коллекцию типа ObservableList
, но я по факту хочу просто добавить элемент типа String
. Так же среда мне подсказывает метод - add();
я передаю туда к примеру "qwe"
, на что мне выдает огромное исключение, так вот, как в мою коллекцию передавать обычную строку?
Нужно инициализировать каким-либо списком в конструкторе new SimpleListProperty<>(FXCollections.observableArrayList());
SimpleListProperty
- это НЕ совсем список, а обертка над ObservableList, но при этом реализующая его интерфейс.
nameLink.get()
- вернет список, в который можно добавлять элементы (переданный в конструкторе).
nameLink.set(...)
- заменит список внутри свойства nameLink
, но обычно это не то что нужно.
Также доступны обычные методы add, remove и т.д., на реализацию можно посмотреть в классе javafx.beans.binding.ListExpression
, но если в SimpleListProperty
не передать свой список, то будет использоваться значение по-умолчанию - FXCollections.emptyObservableList()
- которое не допускает изменений (будут бросаться исключения)
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Я получаю путь к файлу, сохраняю в переменную(Путь корректный, я проверял)
Вот такая проблема: показывается список песен - нажимаю на на любую, для воспроизведения, показывает ошибку androidapp