UPDATE:这qustion搬到TableColumn的应仅显示一个复杂的数据类型的一个特定的值 ,因为它更具体
我想填充表与复杂的数据类型Person
含name
, id
和一个List<Person>
。 目前,我得到了正确的表name
, id
和与其他全信息的第三列Person
秒,但它应该只显示的姓名Persons
秒。 有没有我的第三栏只显示任何方式Person.getName()
值?
关键词,解决方案的欢迎! 非常感谢你!
编辑:代码
Person.class
public class Person {
String id;
String name;
List<Person> friends;
public String getId() {...}
public String getName() {....}
public List<Person> getFriends {...}
}
TableView.class
public TableView<Person> createTable() {
TableColumn<Person, String> firstCol = new TableColumn<>("ID");
TableColumn<Person, String> secondCol = new TableColumn<>("Name");
TableColumn<Person, List<Person> thirdCol = new TableColumn<>("Friends");
PropertyValueFactory<Person, String> firstColFactory = new PropertyValueFactory<>(
"id");
PropertyValueFactory<Person, String> secondColFactory = new PropertyValueFactory<>(
"name");
PropertyValueFactory<Person, List<Person>> thirdColFactory = new PropertyValueFactory<>(
"friends");
firstCol.setCellValueFactory(firstColFactory);
secondCol.setCellValueFactory(secondColFactory);
thirdCol.setCellValueFactory(thirdColFactory);
myTableView.getColumns().addAll(firstCol, secondCol, thirdCol);
}
所以,如果我填的表格id
和name
-colums包含正确的姓名和第三列(与List<Person>
)显示[Person [id1, John, ...]...]]
现在我要问,如果那里有一种可能性,即第三列只显示id
或name
不处理数据?