Javafx-加载fxml文件后如何修改其中的组件

Javafx-加载fxml文件后如何修改其中的组件,javafx,Javafx,我是javafx的新手。我创建了一个简单的JavaFXML应用程序。我在fxml文件中定义了一个treeView。具体如下: FXMLDocument.fxml 现在,我需要在运行程序时向TreeView添加树项。所以我想在我的contorler类的initialize()方法中编写以下代码 // creating root item for the tree TreeItem<String> rootItem = new TreeItem<>("root

我是javafx的新手。我创建了一个简单的JavaFXML应用程序。我在fxml文件中定义了一个treeView。具体如下:

FXMLDocument.fxml 现在,我需要在运行程序时向TreeView添加树项。所以我想在我的contorler类的initialize()方法中编写以下代码

    // creating root item for the tree
    TreeItem<String> rootItem = new TreeItem<>("root");
    rootItem.setExpanded(true);
    //creating childern for the tree
    TreeItem<String>item1= new TreeItem<>("content1");
    rootItem.getChildren().add(item1);
    TreeItem<String>item2= new TreeItem<>("content2");
    rootItem.getChildren().add(item2);

    //attaching root item to tree
    tree = new TreeView<>(rootItem);
//正在为树创建根项
TreeItem rootItem=新的TreeItem(“根”);
setExpanded(true);
//为树创建子节点
TreeItem1=新的TreeItem(“内容1”);
rootItem.getChildren().add(item1);
TreeItem2=新的TreeItem(“内容2”);
getChildren().add(item2);
//将根项目附加到树
树=新树视图(rootItem);
但它不起作用

我需要在运行程序时设置树项。不是通过fxml文件。 所以我想我应该在我的主java文件中进行编码 在主java文件中通过FXMLLoader加载TreeView后,我需要一种访问TreeView的方法,这样我可以根据自己的选择创建一个TreeView,并在运行程序时将其附加到此TreeView。请指导我。

要解决此问题,请更换

tree = new TreeView<>(rootItem);
有关原因的解释,请参阅

您还必须修复
TreeView
的声明:

@FXML
private TreeView<String> tree;  
@FXML
私家树;
    // creating root item for the tree
    TreeItem<String> rootItem = new TreeItem<>("root");
    rootItem.setExpanded(true);
    //creating childern for the tree
    TreeItem<String>item1= new TreeItem<>("content1");
    rootItem.getChildren().add(item1);
    TreeItem<String>item2= new TreeItem<>("content2");
    rootItem.getChildren().add(item2);

    //attaching root item to tree
    tree = new TreeView<>(rootItem);
tree = new TreeView<>(rootItem);
tree.setRoot(rootItem);
@FXML
private TreeView<String> tree;