我有一个 treeTableView 元素,我想在其中显示字符串类型的元素树。
为此,我通过 javafx(通过带有 main.fxml 中的参数的文件)创建了一个 treeTableView,然后我想用数据填充这棵树。
为此,我使用以下代码:
public void init(){
//Получить treeTableViewFileName
TreeTableView<String> treeTableViewFileName = controller.getTreeTableViewFileName();
//Creating tree items
TreeItem<String> childNode1 = new TreeItem<>("Child Node 1");
TreeItem<String> childNode2 = new TreeItem<>("Child Node 2");
TreeItem<String> childNode3 = new TreeItem<>("Child Node 3");
//Creating the root element
TreeItem<String> root = new TreeItem<>("Root");
root.setExpanded(true);
//Adding tree items to the root
root.getChildren().setAll(childNode1, childNode2, childNode3);
//В колонку добавить CellValueFactory
TreeTableColumn<String, String> column1 = controller.getTreeColumnFileName();
column1.setCellValueFactory(new TreeItemPropertyValueFactory<>("name"));
treeTableViewFileName.setRoot(root); //Добавить root
treeTableViewFileName.setShowRoot(true); //Разрешить отображение root
//Запретить возможность менять размер колонки
column1.setResizable(false);
//Запретить возможность сортировать значения в колонке
column1.setSortable(false);
System.out.println("stop");
}
原来表已创建,但什么也没有显示:
同时,我在其他各种网站上看到了基于根元素创建 treeTableView 的示例,如下所示:
TreeTableView<String> treeTableView = new TreeTableView<>(root);
这不适合我,因为创建是通过 main.fxml 文件进行的,并且我需要在程序运行时添加数据本身。在我看到的所有示例中,正是这种方法:基于根创建表。
main.fxml 中的部分代码:
<Pane fx:id="pane3" prefHeight="280.0" prefWidth="917.0">
<children>
<TreeTableView fx:id="treeTableViewFileName" layoutX="14.0" layoutY="16.0" prefHeight="240.0" prefWidth="227.0">
<columns>
<TreeTableColumn fx:id="treeColumnFileName" prefWidth="199.0" text="FileName" />
</columns>
</TreeTableView>
</children>
</Pane>
告诉我在我的案例中如何组织数据的显示?非常感谢您提前。