Tho*_*ard 6 java javafx arraylist hashmap javafx-8
我以ObservableMap<T, Foo>
. 要在视图中实现这些数据,我需要以ObservableList<Foo>
.
因为我需要 Map Collection 中的数据(以避免重复和其他原因),我想知道是否可以绑定这两个集合。
就像是:
ObservableMap<Integer, Foo> data = FXCollections.observableHashMap();
ObservableList<Foo> target = FXCollections.observableArrayList();
// Won't work
Bindings.bindContent(target, data.values());
Run Code Online (Sandbox Code Playgroud)
绑定,因为数据可以在运行时更改。
编辑: 使用地图值初始化列表不起作用,因为将有附加的 Foo 添加到地图中:使用字符串作为地图值的示例:
ObservableMap<Integer, String> map = FXCollections.observableHashMap();
map.put(1, "a");
map.put(2, "b");
ObservableList<String> list = FXCollections.observableArrayList(map.value());
//map = {1=a, 2=b}
//list = [a, b]
// ok
map.put(3, "c");
//map = {1=a, 2=b, 3=c}
//list = [a, b]
// no update
Run Code Online (Sandbox Code Playgroud)
从 ObservableMap 到 ObservableList
ObservableMap<Integer, Foo> data = FXCollections.observableHashMap();
ObservableList<Foo> target = FXCollections.observableArrayList(data.values());
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
754 次 |
最近记录: |