如何使用 JavaFX 创建 TreeView?
javafxobject oriented programmingprogramming更新于 2025/4/14 9:37:17
树提供了层次结构的视图,每棵树包含一个根(最高对象)并包含子对象。您可以通过实例化 javafx.scene.control.TreeView 类 来创建树视图。
示例
以下示例演示了如何创建 TreeView。
import javafx.application.Application; import javafx.geometry.Insets; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.control.TreeItem; import javafx.scene.control.TreeView; import javafx.scene.layout.VBox; import javafx.scene.paint.Color; import javafx.stage.Stage; public class TreeViewExample extends Application { public void start(Stage stage) { //创建树项 TreeItem root1 = new TreeItem("Programming Languages"); TreeItem item1 = new TreeItem("Java"); TreeItem item2 = new TreeItem("Python"); TreeItem item3 = new TreeItem("C++"); //向 root1 添加元素 root1.getChildren().addAll(item1, item2, item3); TreeItem root2 = new TreeItem("NoSQL Databases"); TreeItem item4 = new TreeItem("Neo4j"); TreeItem item5 = new TreeItem("HBase"); TreeItem item6 = new TreeItem("Cassandra"); //向 root2 添加元素 root2.getChildren().addAll(item4, item5, item6); TreeItem root3 = new TreeItem("Bigdata & Analytics"); TreeItem item7 = new TreeItem("Hadoop"); TreeItem item8 = new TreeItem("Mahout"); TreeItem item9 = new TreeItem("Hive"); //向 root2 添加元素 root3.getChildren().addAll(item7, item8, item9); //教育资格列表视图 TreeItem<String> base = new TreeItem<String>("Technologies"); base.setExpanded(true); base.getChildren().addAll(root1, root2, root3); //创建 TreeView 项 TreeView view = new TreeView(base); view.setPrefHeight(300); VBox pane = new VBox(10); pane.setPadding(new Insets(5, 5, 5, 50)); pane.getChildren().addAll(view); //设置舞台 Group node = new Group(pane); Scene scene = new Scene(node, 595, 320, Color.BEIGE); stage.setTitle("List View Example"); stage.setScene(scene); stage.show(); } public static void main(String args[]){ launch(args); } }