【发布时间】:2019-06-07 20:43:05
【问题描述】:
ObservableList obList 有一个监听器,添加后它会更新 TreeView。随着新字符串“music”被添加到 obList,新项目被创建并放入树视图中。该项目呈现为“{ [music] added at 0 }”而不是预期的“music”。
TreeItem<String> root = new TreeItem();
root.setExpanded(true);
TreeView<String> treeView = new TreeView(root);
treeView.getChildren().add(new TreeItem<String>("cat")); // normal behaviour
obList = FXCollections.observableArrayList();
obList.addListener(new ListChangeListener<String>() {
@Override
public void onChanged(ListChangeListener.Change<? extends String> c) {
while (c.next()) {
if (c.wasAdded()) {
TreeItem<String> temp = new TreeItem(c);
tree.getRoot().getChildren().add(temp);
}
}
});
obList.add("music");
变量 c 似乎包含字符串和额外信息。发生了什么事,我该怎么办?
【问题讨论】:
标签: javafx treeview observable listener