2013-09-30 17 views
0

FXML代碼 -JavaFX的 - 圖像僅顯示,在最後TreeItem

<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(即具有值= 2)

您能否提出建議?

回答

0

每個TreeItem應該有它自己的ImageView。因此,解決方案是在FXML中爲每個ImageView定義一個唯一的FX:ID。或者爲TreeView提供一個fx:id =「myTreeView」,然後在控制器中初始化兩個treeitems及其圖形。

0

上吉拉更詳細的解決方案 - 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>