在JavaFX中使用TreeView插入多个不同的对象(类)可以通过以下步骤完成:
下面是一个示例代码,演示如何使用JavaFX的TreeView插入多个不同的对象(类):
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TreeItem;
import javafx.scene.control.TreeView;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class TreeViewExample extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
// 创建TreeView和根节点
TreeView<String> treeView = new TreeView<>();
TreeItem<String> rootItem = new TreeItem<>("Root");
treeView.setRoot(rootItem);
// 创建不同类型的对象
Person person1 = new Person("John", 25);
Animal animal1 = new Animal("Cat", "Meow");
Animal animal2 = new Animal("Dog", "Woof");
// 创建对应的TreeItem对象
TreeItem<String> personItem = new TreeItem<>("Person: " + person1.getName());
personItem.setValue(person1);
TreeItem<String> animal1Item = new TreeItem<>("Animal: " + animal1.getName());
animal1Item.setValue(animal1);
TreeItem<String> animal2Item = new TreeItem<>("Animal: " + animal2.getName());
animal2Item.setValue(animal2);
// 插入子节点
rootItem.getChildren().addAll(personItem, animal1Item, animal2Item);
// 创建布局并将TreeView添加到其中
VBox vbox = new VBox(treeView);
// 创建场景并设置到舞台
Scene scene = new Scene(vbox, 400, 300);
primaryStage.setScene(scene);
primaryStage.show();
}
// 示例对象:Person类
private static class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
// 示例对象:Animal类
private static class Animal {
private String name;
private String sound;
public Animal(String name, String sound) {
this.name = name;
this.sound = sound;
}
public String getName() {
return name;
}
public String getSound() {
return sound;
}
}
}
这个示例代码中创建了一个TreeView对象,并插入了一个Person对象和两个Animal对象作为节点。通过setValue()方法将对象设置为TreeItem的值,并将它们作为子节点插入到根节点下。