正如您在屏幕截图中看到的,我发现JavaFX的TreeView中存在一个错误。您看到的TreeItems在视图中出现两次,但它们在“数据模型”中不存在两次,我已经检查过了。 有谁知道在哪里寻找这个bug。 这是TreeItems的一些代码,我希望在Tree-View中可视化。 希望它有所帮助。
protected void addACompositum(Compositum newCompositum){
newCompositum.setParent(this);
childs.put(newCompositum.toString(), newCompositum);
super.getChildren().add(newCompositum);
super.setExpanded(false);
这是以下类的实现部分,其中我将Children连接到它的父级。
abstract class AbstrCompositum extends TreeItem{
protected Compositum parent = null;
AbstrCompositum(String tag){
super(tag.replace("\n",""));
}
在这里我将数据模型连接到我的树
FileChooser fileChooser = new FileChooser();
fileChooser.setTitle("Import Resource File");
File file = fileChooser.showOpenDialog(mStage);
if(file != null){
Factory.getInstance().readFile(file.getPath());
locationTreeView.setRoot(Factory.getInstance().getDataModel());
}
在这里,您可以在树视图中看到双重出现的对象。 我修复了一个小错误,但是树视图仍然显示了数据模型的镜像版本,因此数据模型在视图中是两次可用,如果我点击一个都打开。 有人提示在哪里找到这个bug吗?