小编典典

javafx实现并显示ListView

java

我想要一个带有“人”名称的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);
}

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.model.Person@2c5ds8dsf8sdf8

谢谢!


阅读 388

收藏
2020-11-26

共1个答案

小编典典

要么:

一个。重写Person类中的toString方法。

要么

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

(a)最简单。。。

2020-11-26