我目前正在使用 Java 和 JavaFX 开发一款游戏。我正在使用 JavaFX ComboBox。
下面的例子应该可以解释我的问题。
假设我有一个“动物”类,其属性为“名称”、“年龄”和“颜色”。
第一个文件:
public class Animal {
private String name;
private int age;
private String color;
public Animal(String name, int age, String color) {
this.name = name;
this.age = age;
this.color = color;
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想为我创建的每只动物创建一个组合框。
第二个文件:
ComboBox<Animal> comboBoxAnimal = new ComboBox();
ObservableList<Animal> comboBoxItems = FXCollections.observableArrayList();
Animal dog = new Animal("Liam", 2, "Brown");
Animal cat = new Animal("Emily", 5, "Gray");
Animal bird = new Animal("Kian", 3, "Green");
comboBoxItems.addAll(dog, cat, bird);
comboBoxAnimal.setItems(comboBoxItems);
Run Code Online (Sandbox Code Playgroud)
目前我只得到“Animal@xxxxxxxx”,这是可以理解的,因为我有一个动物组合框,但只想显示名称(字符串)。
只是简单地创建一个 …