JavaFX:如何在TableColumn中显示String []的内容?

时间:2017-01-27 15:55:07

标签: java javafx

我有一堂电影课。 actor保存在String []中。我用SceneBuilder创建了一个GUI。我正在设置每个TC的值:

    tableDirector.setCellValueFactory(new PropertyValueFactory<>("Director"));
    tableActors.setCellValueFactory(new PropertyValueFactory<>(("actors")));

这适用于所有非收藏品的东西,但我不能因为爱的一切圣洁的想法如何将String []中的几个字符串放在一个列中。我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

假设您未显示的所有代码都是正确的,您可以执行

tableActors.setCellFactory(tc -> new TableCell<Movie, String[]>() {
    @Override
    protected void updateItem(String[] actors, boolean empty) { 
        super.updateItem(actors, empty);
        if (empty || actors == null) {
            setText(null);
        } else {
            setText(String.join(", ", actors));
        }
    }
});

更复杂的单元工厂可能会生成一个以ListView或类似选项显示actor的单元格。

请注意,cellFactory是您已定义的cellValueFactory的补充。