如何使用列表中的对象填充选择框
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 ;
}
});
我不想从 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 ;
}
});