import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.control.TextArea;
import javafx.scene.control.TreeView;
import javafx.geometry.Insets;
import javafx.scene.layout.VBox;
import javafx.scene.layout.HBox;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.Region.*;
import javafx.scene.layout.FlowPane;
import javafx.scene.control.ScrollPane;
import javafx.geometry.Orientation;
import javafx.stage.Stage;
import javafx.scene.control.TreeItem;
import javafx.scene.layout.Priority;
class CustomTreeItem extends HBox {
public CustomTreeItem(String name) {
TextArea text_area = new TextArea();
Label label = new Label(name);
text_area.setPrefWidth(230);
text_area.setPrefHeight(80);
this.getChildren().addAll(label, text_area);
}
}
class CustomTree extends TreeView {
public CustomTree() {
//TreeView<Field> tree = new TreeView<Field>();
TreeItem<CustomTreeItem> root = new TreeItem<CustomTreeItem>(new CustomTreeItem("A"));
this.setRoot(root);
TreeItem<CustomTreeItem> child = new TreeItem<CustomTreeItem>(new CustomTreeItem("B"));
root.getChildren().add( child );
root.setExpanded(true);
this.setPrefWidth(400);
}
}
public class TreeTest extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
CustomTree tree1 = new CustomTree();
VBox box = new VBox();
box.getChildren().addAll(tree1);
ScrollPane root = new ScrollPane();
root.setContent(box);
primaryStage.setScene(new Scene(root, 600, 400));
primaryStage.show();
}
}