/* (C) 2011 */ package fxsqe; /** * Copyright (c) 2008, 2012 Oracle and/or its affiliates. All rights reserved. * Use is subject to license terms. */ import javafx.application.Application; import javafx.scene.Scene; import javafx.stage.Stage; import javafx.scene.control.TreeView; import javafx.scene.control.TreeItem; import java.util.Arrays; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.control.ButtonBuilder; import javafx.scene.layout.VBox; /** * An implementation of the TreeView control displaying an expandable tree root * node. * * @see javafx.scene.control.TreeView */ public class TreeViewSample extends Application { private void init(Stage primaryStage) { VBox root = new VBox(); primaryStage.setScene(new Scene(root)); final 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"), new TreeItem("Child Node 7"), new TreeItem("Child Node 8"), new TreeItem("Child Node 9"), new TreeItem("Child Node 10"), new TreeItem("Child Node 11"), new TreeItem("Child Node 12"))); final TreeView treeView = new TreeView(); treeView.setShowRoot(true); treeView.setRoot(treeRoot); treeRoot.setExpanded(true); root.getChildren().add(treeView); root.getChildren().add(ButtonBuilder.create().text("new").onAction(new EventHandler() { @Override public void handle(ActionEvent t) { // treeRoot.getChildren().get(2).getChildren().addAll( new TreeItem("xxxxxx")); TreeItem selectedItem = treeView.getSelectionModel().getSelectedItem(); TreeItem parent = selectedItem.getParent(); int idx = parent.getChildren().indexOf(selectedItem); parent.getChildren().remove(selectedItem); parent.getChildren().add(0, selectedItem); } }).build()); } @Override public void start(Stage primaryStage) throws Exception { init(primaryStage); primaryStage.show(); } public static void main(String[] args) { launch(args); } }