package gui.manager.OrLearning; 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 TreeMenu extends Application { Stage window; public static void main(final String[] args) { launch(args); } @Override public void start(final Stage primaryStage) { window = primaryStage; window.setTitle("Tree Menu"); // Tree final TreeItem<String> root = new TreeItem<>(); root.setExpanded(true); // Parking colors final TreeItem<String> colors = makeBranch("Colors", root); makeBranch("Blue", colors); makeBranch("Red", colors); makeBranch("Green", colors); // Parking areas final TreeItem<String> areas = makeBranch("Areas", root); makeBranch("Dorms", areas); makeBranch("All around", areas); makeBranch("Taub", areas); areas.setExpanded(false); // Set Tree final TreeView<String> tree = new TreeView<>(root); tree.setShowRoot(false); tree.getSelectionModel().selectedItemProperty().addListener((v, oldValue, newValue) -> { if (newValue != null) System.out.println(newValue); }); // Layout final StackPane layout = new StackPane(); layout.getChildren().add(tree); window.setScene(new Scene(layout, 300, 300)); window.show(); } public TreeItem<String> makeBranch(final String title, final TreeItem<String> parent) { final TreeItem<String> $ = new TreeItem<>(title); $.setExpanded(true); parent.getChildren().add($); return $; } }