import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.TreeItem; import javafx.scene.control.TreeView; import javafx.scene.layout.StackPane; import javafx.stage.Stage; public class Main extends Application { Stage window; TreeView tree; public static void main(String[] args) { launch(args); } @Override public void start(Stage primaryStage) { window = primaryStage; window.setTitle("JavaFX - thenewboston"); TreeItem root, bucky, megan; //Root root = new TreeItem<>(); root.setExpanded(true); //Bucky bucky = makeBranch("Bucky", root); makeBranch("thenewboston", bucky); makeBranch("YouTube", bucky); makeBranch("Chicken", bucky); //Megan megan = makeBranch("Megan", root); makeBranch("Glitter", megan); makeBranch("Makeup", megan); //Create the tree and hide the main Root tree = new TreeView<>(root); tree.setShowRoot(false); tree.getSelectionModel().selectedItemProperty() .addListener((v, oldValue, newValue) -> { if (newValue != null) System.out.println(newValue.getValue()); }); //Layout StackPane layout = new StackPane(); layout.getChildren().add(tree); Scene scene = new Scene(layout, 300, 250); window.setScene(scene); window.show(); } //Create branches public TreeItem makeBranch(String title, TreeItem parent) { TreeItem item = new TreeItem<>(title); item.setExpanded(true); parent.getChildren().add(item); return item; } }