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")); 
  } 

image 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 に答える