javafx 实现并显示 ListView

标签 java listview javafx

我想要一个带有“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);
}

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

谢谢!

最佳答案

或者:

a.覆盖 toString Person 类中的方法。

或者

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

(a) 是最简单的。 。 .

关于javafx 实现并显示 ListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23252627/

相关文章:

java - ANTLRWorks 生成解析器声明抛出但在 java 文件中没有其他内容

下载期间android ProgressBar更新

java - 包含 ListView 的选项卡 fragment 在第二次被选中时为空白

java - 如何使弹出窗口居中?

java - 有没有办法将我所有重复的 VBox 重新组织到自定义 JavaFX 标签中?

java - 如何在可以更改的时间间隔后重复运行某些代码?

java - 如何使用 Android 获得最准确的时间?

java - 比较三个字符串

java - Java如何从XML文档中获取键值对

android - 一个 Activity 中有两个 listView