2017-05-24 4 views
0

私はJavaFXアプリケーションでTreeViewを実装しようとしています。しかし残念なことに、アイテムは見当たりませんが、問題は見つかりません。私はいくつかの例を探し、それを好きにしました。javaFX - SplitPaneにツリービューが表示されない

SceneBuilderのFXMLファイルにTreeViewコントロールを配置し、生成されたControllerClassを選択し、このクラスのTreeviewフィールドをSceneBuilderのTreeViewコントロールのIDとして選択しました。

この問題は、エラーがTreeViewの新しいインスタンスを割り当てていた場所を確認しましたが、ルートを直接設定しているため、これは私の問題ではありません。

私のコントローラのコードです:あなたは、あなたのFXMLにコントローラクラスを指定していない

<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1"> 
    <children> 
     <SplitPane dividerPositions="0.29797979797979796" layoutX="134.0" layoutY="154.0" prefHeight="600.0" prefWidth="800.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> 
     <items> 
      <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="160.0" prefWidth="100.0"> 
       <children> 
        <TreeView fx:id="treeView" layoutX="39.0" layoutY="61.0" prefHeight="598.0" prefWidth="235.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" /> 
       </children> 
      </AnchorPane> 
      <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="160.0" prefWidth="100.0" /> 
     </items> 
     </SplitPane> 
    </children> 
</AnchorPane> 

答えて

0

public class FXMLDocumentController implements Initializable { 
    @FXML 
    private Label label; 
    @FXML 
    private TreeView<String> treeView; 
    @Override 
    public void initialize(URL url, ResourceBundle rb) { 
     // TODO 
     TreeItem<String> root = new TreeItem<>("root"); 
     for (int i = 0; i < 10; i++) { 
      TreeItem<String> child = new TreeItem<>("Children " + i); 
      root.getChildren().add(child); 
     } 
     root.setExpanded(true); 
     treeView.setRoot(root);// = new TreeView<String> (rootItem); 
     treeView.getSelectionModel().setSelectionMode(SelectionMode.SINGLE); 
    } 
} 

マイFXMLコード。 (FXMLDocumentControllerがである実際のパッケージとmy.packageを置き換える)FXMLファイルのルート要素に

fx:controller="my.package.FXMLDocumentController" 

を追加します。

+0

まだ表示されていません... –

関連する問題