javafx实现并显示ListView

javafx实现并显示ListView,java,listview,javafx,Java,Listview,Javafx,我想要一个名为“Persons”的ListView,但在启动应用程序的ListView上,我看到一些奇怪的字符串,而不是(字符串)名称。我认为这是“人”与“物”的关系问题。我不知道ListView应该是ListView还是ListView。因为当我尝试在listview上设置项时,使用setItems(ObservableList),我会在列表上看到奇怪的字符串。。代码如下: MainApp.java: public static ObservableList<Person> pe

我想要一个名为“Persons”的ListView,但在启动应用程序的ListView上,我看到一些奇怪的字符串,而不是(字符串)名称。我认为这是“人”与“物”的关系问题。我不知道ListView应该是ListView还是ListView。因为当我尝试在listview上设置项时,使用setItems(ObservableList),我会在列表上看到奇怪的字符串。。代码如下:

MainApp.java:

 public static ObservableList<Person> personList;

 public static void main(String[] args) {
    personList = FXCollections.observableArrayList();
    Person p1 = new Person("Tom");
    Person p2 = new Person("Anna");

    personList.add(p1);
    personList.add(p2);
    launch(args);
}
公共静态观察列表personList;
公共静态void main(字符串[]args){
personList=FXCollections.observableArrayList();
人员p1=新人员(“Tom”);
人员p2=新人员(“安娜”);
personList.add(p1);
personList.add(p2);
发射(args);
}
PersonController.java:

import static ordercheck.OrderCheck.personList;

public class PersonalController implements Initializable {
@FXML
private ListView<Person> personalList;
 public void initialize(URL url, ResourceBundle rb) {
   personalList.setItems(personList);
....
....
}

....
....
}
导入静态ordercheck.ordercheck.personList;
公共类PersonalController实现可初始化{
@FXML
私有列表查看个人列表;
公共void初始化(URL、ResourceBundle rb){
personalList.setItems(个人列表);
....
....
}
....
....
}
我怎么能看到真名而不是这样的字符串:ordercheck.model。Person@2c5ds8dsf8sdf8

谢谢大家!

或者:

a。重写Person类中的方法

b。在ListView上设置,并在那里设置格式化文本


(a) 这是最简单的

有关更多信息以及(b)的示例,请参阅(也是jewelsea提供的)。