如何使用 JavaFX 创建 TreeView?
javafxobject oriented programmingprogramming更新于 2026/1/7 10:20: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);
}
}
输出


