2014-02-19 2 views
1

Я пытаюсь настроить корневой узел моей TreeView в FXML:Как настроить графику для TreeItem в FXML?

<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, который будет представлять изображение, сохраненное в моем ресурсе, в значках/icon_folder.png?

В Java, я могу сделать следующее:

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

И тогда я могу просто установить его на корневом узле:

rootItem.setGraphic(iconFolder); 

Однако, я хотел бы быть в состоянии сделать это только от FXML.

ответ

2

После нахождения этого similar question о настройке graphic свойства для Button управления с FXML, я был в состоянии достигнуть свою цель со следующим FXML разметкой:

<TreeItem expanded="false" value="Root" fx:id="rootItem"> 
    <graphic> 
     <ImageView> 
      <image> 
       <Image url="icons/icon_folder.png" /> 
      </image> 
     </ImageView> 
    </graphic> 
</TreeItem> 
Смежные вопросы