import javafx.application.Application; import javafx.scene.Group; import javafx.scene.layout.VBox; import javafx.scene.Scene; import javafx.stage.Stage; import javafx.scene.control.TreeView; import javafx.scene.control.TreeItem; import javafx.scene.control.Button; import java.util.Arrays; import javafx.event.ActionEvent; import javafx.event.EventHandler; /** * An implementation of the TreeView control displaying an expandable tree root * node. * * @see javafx.scene.control.TreeView */ public class TreeViewSample1 extends Application { final TreeView treeView = new TreeView(); private void init(Stage primaryStage) { VBox root = new VBox(); primaryStage.setScene(new Scene(root)); TreeItem treeRoot = new TreeItem("Root node"); treeRoot.getChildren().addAll(Arrays.asList( new TreeItem("Child Node 1"), new TreeItem("Child Node 2"), new TreeItem("Child Node 3"))); treeRoot.getChildren().get(2).getChildren().addAll(Arrays.asList( new TreeItem("Child Node 4"), new TreeItem("Child Node 5"), new TreeItem("Child Node 6"))); treeView.setRoot(treeRoot); treeRoot.setExpanded(true); Button reset = new Button("Reset"); reset.setOnAction(new EventHandler() { public void handle(ActionEvent t) { reset(); } }); root.getChildren().addAll(treeView, reset); } protected void reset() { TreeItem item = new TreeItem("Root node"); item.getChildren().addAll(Arrays.asList( new TreeItem("Child Node 11"), new TreeItem("Child Node 12"), new TreeItem("Child Node 13"))); item.getChildren().get(2).getChildren().addAll(Arrays.asList( new TreeItem("Child Node 14"), new TreeItem("Child Node 15"), new TreeItem("Child Node 16"))); item.setExpanded(true); treeView.setRoot(item); } @Override public void start(Stage primaryStage) throws Exception { init(primaryStage); primaryStage.show(); } public static void main(String[] args) { launch(args); } }