如何在FXML中为TreeItem设置图形?

时间:2014-02-19 18:54:13

标签: javafx fxml

我正在尝试在FXML中配置TreeView的根节点:

<TreeView fx:id="treeView" prefHeight="-1.0" prefWidth="-1.0" VBox.vgrow="ALWAYS">
    <TreeItem expanded="false" value="Root" fx:id="rootItem" graphic="/icons/icon_folder.png" />
</TreeView>

有一个名为graphic的属性需要Node,而不是我上面提供的String

如何在FXML中为其指定一个节点,该节点将代表存储在我的资源中的图像/ icons_ icon_folder.png?

在Java中,我可以执行以下操作:

final Node iconFolder = new ImageView(
        new Image(TreeArchiveSuite.class.getResourceAsStream("/icons/icon_folder.png"))
);

然后我可以在根节点上设置它:

rootItem.setGraphic(iconFolder);

但是,我希望能够仅从FXML执行此操作。

1 个答案:

答案 0 :(得分:2)

在找到关于使用FXML为graphic控件设置Button属性的 similar question 后,我能够通过以下FXML标记实现我的目标:

<TreeItem expanded="false" value="Root" fx:id="rootItem">
    <graphic>
        <ImageView>
            <image>
                <Image url="icons/icon_folder.png" />
            </image>
        </ImageView>
    </graphic>
</TreeItem>