javaFX-Treeview在SplitPane中不显示任何项
我尝试在我的JavaFX应用程序中实现TreeView。但不幸的是,没有显示任何项目,但我找不到问题。我搜索了一些例子,并像他们那样做了 我将TreeView控件放在SceneBuilder中的FXML文件中,并选择生成的ControllerClass,并从该类中选择TreeView字段作为SceneBuilder中TreeView控件的id 我检查了这个问题,错误是分配了一个新的TreeView实例,但这不是我的问题,因为我直接设置了根 这是我的控制器代码:javaFX-Treeview在SplitPane中不显示任何项,javafx,treeview,javafx-2,javafx-8,fxml,Javafx,Treeview,Javafx 2,Javafx 8,Fxml,我尝试在我的JavaFX应用程序中实现TreeView。但不幸的是,没有显示任何项目,但我找不到问题。我搜索了一些例子,并像他们那样做了 我将TreeView控件放在SceneBuilder中的FXML文件中,并选择生成的ControllerClass,并从该类中选择TreeView字段作为SceneBuilder中TreeView控件的id 我检查了这个问题,错误是分配了一个新的TreeView实例,但这不是我的问题,因为我直接设置了根 这是我的控制器代码: public class FXML
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);
}
}
公共类FXMLDocumentController实现可初始化{
@FXML
自有品牌;
@FXML
私人树景树景;
@凌驾
公共void初始化(URL、ResourceBundle rb){
//待办事项
TreeItem root=新的TreeItem(“根”);
对于(int i=0;i<10;i++){
TreeItem child=新的TreeItem(“Children”+i);
root.getChildren().add(child);
}
root.setExpanded(true);
treeView.setRoot(root);/=newtreeview(rootItem);
treeView.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);
}
}
我的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>
您尚未在FXML中指定控制器类。加
fx:controller="my.package.FXMLDocumentController"
到FXML文件中的根元素(将my.package
替换为FXMLDocumentController
所在的实际包)