如何使用List中的对象填充ChoiceBox

时间:2016-07-19 12:22:28

标签: java javafx fxml

我不想从ChoiceBox填充List<Object>。我的对象有一个名称字段,我不想用它作为选择文本。 当然,我需要知道用户选择了哪个对象才能传递正确的数据。

FXML控制器:

public void initialize(URL fxmlFileLocation, ResourceBundle resources) {
    UniversitiesService uniService = new UniversitiesServiceImpl();
    List<University> uniList = uniService.getUniversitiesList();
    //uniChoiceBox.setItems(); Need some guidance here
}

大学实体:

private String universityName;
private String universityURL;
private String[] universityDataNames;

//getters setters

1 个答案:

答案 0 :(得分:3)

只做

uniChoiceBox.getItems().setAll(uniList);

如果您需要配置显示(例如,如果toString()中的University方法没有提供您需要的文字),请添加转换器:

uniChoiceBox.setConverter(new StringConverter<University>() {
    @Override
    public String toString(University uni) {
        return uni.getUniversityName();
    }
    @Override
    // not used...
    public University fromString(String s) {
        return null ;
    }
});