自定义组件我有一个类MyTreeTableView延伸TreeTableView扩展JavaFX的8 TreeTableView
我已经implmented一些方法在我的派生类,这是不是在原来的TreeTableView可通过可观察到的列表来填充树视图。除此之外,没有其他功能。
我可以使用这个类,并在Java中
即
MyTreeTableView localtree = new MyTreeTableView(new TreeItem<>());
localtree.setItems(myobservedList);
编码时,如果我这个实例添加到场景中的所有作品就像一个标准TreeTableView它按预期工作。要添加这个实例到现场我必须在Java端做这个。
我必须将我的MyTreeTableView类放入一个自定义的FXML组件中,以便使用它可访问的场景生成器以方便拖放。我试图将localtreetable
分配给FXML中定义的标准Java FX 8 TreeTableView,它是现有场景的一部分。
我做了以下
localtreetable.getColumns().addAll(col1,col2);
localtreetable.setShowRoot(false);
localtreetable.setItems(myobservedList);
JavaFX8TreeTableView.setRoot(localtreetable.getRoot());
col1 = (TreeTableColumn<Object, String>) JavaFX8TreeTableView.getColumns().get(0);
col2 = (TreeTableColumn<Object, String>) JavaFX8TreeTableView.getColumns().get(1);
//setCellValueFactory and CellFactories for col1 and col2 after this.
这里col1
和col2
都在FXML定义,他们这也是在FXML定义的JavaFX8TreeTableView
的列。
通过这个攻击,JavaFX8TreeTableView会在UI上显示对象中填充的数据。然而,用户界面不正确,树视图混乱。当我说乱七八糟的时候,树的顺序是正确的,但是>被放在树项目的第4个字母上,并且点击箭头不会展开或关闭树项目,您必须在其他项目上单击它它可以扩展和关闭它的位置。 我的第一个问题是,我怎么转值从localtreetable
到JavaFx8TreeTableView,这样我可以填充值已经定义TreeTableView