Ваша проблема в том, что метка не показывает значение, которое есть в вашей коллекции ArrayCollection, я прав? Это так, потому что Label
не имеет механизма обновления для ArrayCollection, как DataGrid
или List
.
Ваша ArrayCollection является привязываемой, но это только означает, что ваша функция lab(col)
будет выполняться только при изменении значения переменной col
.
Вы устанавливаете col = new ArrayCollection();
, и в этот момент привязка выполняется. И только после этого вы добавляете ценности в свою коллекцию. Есть 2 способа решения этой проблемы:
- Позвоните
lb.executeBindings()
, чтобы обновить вид метки.
- Прослушайте
CollectionEvent.COLLECTION_CHANGE
эту рассылку ArrayCollection, когда ее элементы изменены.
Надеюсь, это поможет вам.