我开始使用 JavaFX 并希望使用新的树视图(因为您可以使用多个图标来表示您的数据 - 这是我希望利用的)。
我创建了一个基本的表单/场景,上面有一个树视图和一个按钮。按下此按钮时,我希望填充树视图。
现在,我查看的所有示例都是在代码中生成表单/场景的位置,并且树视图绑定到该控件....如何使用 Scene builder 获得预先设计的表单并从外部代码填充它?
您可以在控制器类中使用以下代码。在 FXML 文件中,您需要将 FXID 设置为 selectionTreeView。在 JDK 8u5 中测试,它工作。
@FXML
TreeView selectionTreeView;
@FXML
private void handleButtonAction(ActionEvent event) {
createTree();
}
public void createTree(String... rootItems) {
//create root
TreeItem<String> root = new TreeItem<>("Root");
//root.setExpanded(true);
//create child
TreeItem<String> itemChild = new TreeItem<>("Child");
itemChild.setExpanded(false);
//root is the parent of itemChild
root.getChildren().add(itemChild);
selectionTreeView.setRoot(root);
}
在场景构建器中设置控件的根节点上的类名(包括包)。如果单击,则转到右侧的代码选项卡,它是顶部字段。
现在在控件中的 TreeView 上设置一个 ID。
现在在控制器对象中添加一个 TreeView 字段,变量名称应该与您在场景构建器中设置的 TreeView ID 相同。使用@FXML 对字段进行注释。
现在,当加载 FXML 时,将创建控制器并设置 TreeView 字段。