我想要一个带有“人”名称的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
谢谢!
要么:
一个。重写Person类中的toString方法。
要么
b。在ListView上设置一个cellFactory,并在那里设置格式化的文本。
(a)最简单。。。