我不想从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
答案 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 ;
}
});