gpt4 book ai didi

JavaFx ObservableSet 适配器

转载 作者:行者123 更新时间:2023-11-30 08:05:40 27 4
gpt4 key购买 nike

我有一个 JavaFx 客户端。我正在使用一个具有 ObservableSet 作为字段的 bean 作为模型。我想将这些数据显示到 ListView 中,但我无法将我的字段类型更改为 ObservableList。

我认为我应该编写一种适配器,以便使我的 ObservableSet 适应 ObservableList(因为 ListView 需要这样做)。

使用 ObservableList 的代码是:

listView.setItems(myBean.getMyEntitiesList());

我需要以相同的方式设置项目,因为数据列表是从服务器延迟而来的,所以我需要在数据到达时更新 Ui。

有人能给我一些关于如何实现这种适配器的想法吗?

最佳答案

您可以将监听器添加到集合中并在列表发生变化时更新列表:

ObservableList<T> items = FXCollections.observableArrayList(myBean.getMyEntitiesList());

myBean.getMyEntitiesList().addListener((Change<? extends T> change) -> {
if (change.wasAdded()) {
items.add(change.getElementAdded());
}
if (change.wasRemoved()) {
items.remove(change.getElementRemoved());
}
});

listView.setItems(items);

显然将 T 替换为列表/集合中元素的实际类型。

关于JavaFx ObservableSet 适配器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34930395/

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