0

FXML 代码 -

<TreeItem expanded="true" value="1"> 
    <graphic> 
        <ImageView fx:id="folderImageView"/> 
    </graphic> 
    <children> 
        <TreeItem value="11" /> 
    </children> 
</TreeItem> 

<TreeItem expanded="true" value="2"> 
    <graphic> 
        <ImageView fx:id="folderImageView"/> 
    </graphic> 
    <children> 
        <TreeItem value="2" /> 
    </children> 
</TreeItem>

这是控制器代码 -

  public class LController implements Initializable { 

  @FXML ImageView folderImageView; 

  public void initialize(URL location, ResourceBundle resources) { 
      folderImageView.setImage(new Image("/resource/b.png")); 
  } 

图片 b.png 仅在最后一个 TreeItem 中显示(即 value=2)

你能建议吗?

4

2 回答 2

0

每个人都TreeItem应该有自己的ImageView. 所以解决方案是为FXML中的每个定义一个唯一的fx:id 。ImageView或者给一个 fx:id="myTreeView"TreeView然后在控制器中初始化树项和它们的图形。

于 2013-10-01T13:24:44.233 回答
0

更详细的 Jira 解决方案 - https://javafx-jira.kenai.com/browse/RT-33190

基本上在下面——

<AnchorPane xmlns:fx="http://javafx.com/fxml">
<children>
<TreeView id="tView">
<root>

<include>
<Image fx:id= "img" url="@b.png" />
</include>

<TreeItem expanded="true" value="Components">
<graphic>
<ImageView>
<image>
<fx:reference source = "img"/>
</image>
</ImageView>
</graphic>
<children>
<TreeItem value="User" />
</children>
</TreeItem>
</root>
</TreeView>
</children>
</AnchorPane>
于 2013-10-03T13:43:48.687 回答