FXML 中的树视图

TreeView in FXML

如何在 FXML 中创建一个包含所有分支和组件的 TreeView?我找不到关于它的文档。只有关于如何填充它的代码,但我想在 FXML 中进行,这样您就可以将设计与逻辑分开。

没有针对 FXML 的特定文档(Introduction to FXML document 之外):但不需要任何文档。以大写字符开头的元素是实例化该名称的 class 的指令,因此

<TreeView></TreeView>

将实例化一个 TreeView。属性对应属性,所以如果你需要你可以做

<TreeView editable="true"></TreeView>

以小写字母开头的嵌套元素也对应属性,并将设置为封闭的FXML结构。所以你可以用像

这样的代码创建一个树视图
<TreeView fx:id = "treeView">
    <root>
        <TreeItem fx:id="rootItem" value="Root" expanded="true">
            <children>
                <TreeItem fx:id="child1" value="Child 1" expanded="true">
                    <children>
                        <TreeItem fx:id="child11" value="Child 1.1"></TreeItem>
                        <TreeItem fx:id="child12" value="Child 1.2"></TreeItem>
                    </children>
                </TreeItem>
                <TreeItem fx:id="child2" value="Child 2">
                    <children>
                        <TreeItem fx:id="child21" value="Child 2.1"></TreeItem>
                        <TreeItem fx:id="child22" value="Child 2.2"></TreeItem>
                    </children>
                </TreeItem>
            </children>
        </TreeItem>
    </root>
</TreeView>

您当然可以看到 API documentation 中的所有属性。