繁体   English   中英

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

[英]JavaFX: How do you display the contents of a String[] in a TableColumn?

我有电影课。 角色保存在String []中。 我使用SceneBuilder创建了一个GUI。 我像这样设置每个TC的值:

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

这适用于所有非Collections的东西,但是我不能为所有想找出如何将String []中的多个String放入单个列中的事物而热爱。 我想念什么吗?

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

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或类似选项中显示角色的单元。

请注意, cellFactory是您已经定义的cellValueFactory

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM