gpt4 book ai didi

java - 将 ListView 绑定(bind)到 ObservableSet

转载 作者:搜寻专家 更新时间:2023-11-01 02:40:45 26 4
gpt4 key购买 nike

我想知道是否有办法将 ObservableSet 绑定(bind)到 ListViewObservableList 双向绑定(bind)到 ObservableSet?

最佳答案

一般来说,这并不完全可行,因为列表和集合具有不同的功能(集合是无序的,而列表是有序的;列表可以包含重复项,但集合不能)。

您可以使用类似于以下的代码确保 ListView 显示来自 ObservableSet 的元素:

ObservableSet<String> set = FXCollections.observableSet();
ListView<String> listView = new ListView<>();
set.addListener((Change<? extends String> c) -> {
if (c.wasAdded()) {
listView.getItems().add(c.getElementAdded());
}
if (c.wasRemoved()) {
listView.getItems().remove(c.getElementRemoved());
}
});

如果 ListView 可以独立于集合进行操作,那么您可以使用 listView.getItems() 注册一个(有点)类似的监听器,并相应地更新集合.

关于java - 将 ListView 绑定(bind)到 ObservableSet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33901891/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com