如何使用列表中的对象填充选择框

How to populate a ChoiceBox with objects from a List

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

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

随心所欲

uniChoiceBox.getItems().setAll(uniList);

如果您需要配置显示(即如果 University 中的 toString() 方法没有给出您需要的文本),请添加一个转换器:

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