【发布时间】:2018-05-08 10:55:11
【问题描述】:
我有一个TableView 有两列,一个TreeMap<String, String> 和一个ObservableMap。我想用我的TreeMap 数据填充TableView。
但是tableview.setItems(observableMap) 不起作用,因为setItems 需要ObservableList。我对observableHashMap 进行了同样的尝试,但也没有用。我该怎么做才能用TreeMap 中的数据填充我的TableView?
【问题讨论】:
-
您需要
ObservableList而不是ObservableMap。只需使用类似FXCollections.observableArrayList(map.keySet())或类似的东西(不清楚Map的哪一部分应该用作TableView的项目)。如果需要根据observableMap的内容动态调整列表的内容,那就更复杂了…… -
所以这意味着使用 FXCollections.observableArrayList(map.keySet()) 我只能用我的 treeMap 中的键填充我的 tableView?价值观呢?
-
您想在一列中显示键,在另一列中显示关联的值,我猜?地图更新怎么样?在
TableView中插入数据后是否可以修改地图或者这不是需要考虑的情况? (在这种情况下,添加/删除键是要考虑的最重要的部分。) -
否,TableView中的数据不能修改。是的,一列用于键,另一列用于值。