如何使用User对象信息填充TableColumns?

时间:2017-11-02 09:10:47

标签: java javafx tableview tablecolumn

我有一个TableView,里面有TableColumns(Screenshot of the program

该方法接收用户的ArrayList(potentialFriends)。对象用户包括全名,电子邮件,爱好,专业和匹配分数。我想用TableList中的每个User对象的信息填充表。它是如何完成的?我做了一些研究,但似乎没有任何效果。 这是一段代码,如果它有帮助:

public class AlgorithmController {

@FXML
private TableView<User> table;
@FXML
private TableColumn<User,String> nameCol;
@FXML
private TableColumn<User,String> majorCol;
@FXML
private TableColumn<User,String> mailCol;
@FXML
private TableColumn<User,String> hobbyCol;
@FXML
private TableColumn<User,String> scoreCol;
private User user;
private ArrayList<User> potentialFriends;


public void initialize(){
    DatabaseStack database = new DatabaseStack();
    MatchingAlgorithm testAlg = new MatchingAlgorithm(database.getDatabase());
    user = Mediator.getInstance().getUser();
    potentialFriends = testAlg.findAFriendAlgorithm(user,0,database.getDatabase().size());

}}

感谢您的时间和精力!

1 个答案:

答案 0 :(得分:0)

为每列设置cellValueFactory。 例如,

nameCol.setCellValueFactory(new PropertyValueFactory<User,String>("Specify nameCol variable name the same as in User class"));

然后添加数组列表。

table.setItems(potentialFriends);

如果添加数组列表不起作用,请尝试使用ObservableList而不是ArrayList