2017-03-29 1 views
0

Ich habe den folgenden Code. Dies erstellt erfolgreich eine Stammansicht mit einem Model1 und einem Model1. Ich habe Probleme beim Hinzufügen von Elementen zu Model1. Wie kann ich das machen?Wie man mehrstufige Treeview in JavaFX machen kann?

@FXML 
TreeView<String> locationTreeView; 

public void loadTreeItems() 
{ 


    ArrayList<String> rootItems = new ArrayList<String>(); 
    rootItems.add("Model1"); 
    rootItems.add("Model2"); 
    TreeItem<String> root = new TreeItem<String>("Root"); 

    root.setExpanded(true); 
    for (String itemString : rootItems) 
    { 
     root.getChildren().add(new TreeItem<String>(itemString)); 
    } 

    locationTreeView.setRoot(root); 
} 

Antwort

2

Fügen Sie einfach sie den Baum Elemente, die Sie in der gleichen Art und Weise erstellen hinzugefügt Sie zum Stammelement:

public void loadTreeItems() 
{ 


    TreeItem<String> root = new TreeItem<String>("Root"); 

    root.setExpanded(true); 

    TreeItem<String> model1 = new TreeItem<String>("Model1"); 
    TreeItem<String> model2 = new TreeItem<String>("Model2"); 

    TreeItem<String> model11 = new TreeItem<String>("Model1.1"); 
    TreeItem<String> model12 = new TreeItem<String>("Model1.2"); 

    root.getChildren().add(model1); 
    root.getChildren().add(model2); 

    model1.getChildren().add(model11); 
    model1.getChildren().add(model12); 

    locationTreeView.setRoot(root); 
} 

Natürlich können Sie Loops machen, dies zu tun, wenn Sie irgendeine Art von repetitiven haben Struktur.

+0

Ehrfürchtig. Und wissen Sie zufällig, wie Sie ein Bild direkt neben Ihrem Klick hinzufügen würden? – Jay266

+0

http://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/TreeItem.html#setGraphic-javafx.scene.Node- –

Verwandte Themen