【发布时间】:2013-04-28 23:21:30
【问题描述】:
我正在尝试使用 TableView 制作一个表格,并根据User 对象列表以编程方式填充它。 User 具有三个变量,nameProperty(字符串)、rankProperty(称为排名的枚举)和netMeritsProperty(整数)。这些都存储在SimpleStringProperty 对象中。我的问题是数据不会出现在实际表中,如下图:
这是我的表格代码。我不明白什么?
TableColumn<User, String> name = new TableColumn<>("Name");
name.setCellValueFactory(new PropertyValueFactory<User, String>("nameProperty"));
TableColumn<User, String> rank = new TableColumn<>("Rank");
rank.setCellValueFactory(new PropertyValueFactory<User, String>("rankProperty"));
TableColumn<User, String> netMerits = new TableColumn<>("Net Merits");
netMerits.setCellValueFactory(new PropertyValueFactory<User, String>("netMeritsProperty"));
userTable.getColumns().addAll(name, rank, netMerits);
【问题讨论】:
-
这个文档对你没有帮助吗? docs.oracle.com/javafx/2/ui_controls/table-view.htm
-
可能不需要在“nameProperty”后面加“Property”之类的吧?
-
或者你没有用数据填充TableView
-
@AlexanderKirov 因此,在我了解一些常识后,我查看了 Javadoc,我发现显然,当您使用诸如
name之类的属性构造一个PropertyValueFactory时,它会寻找一个称为Person.nameProperty()的方法。很抱歉浪费您的时间。 -
别担心这个=)