Java 如何使用列表中的对象填充ChoiceBox

Java 如何使用列表中的对象填充ChoiceBox,java,javafx,fxml,Java,Javafx,Fxml,我不想从列表中填充选择框。我的对象有一个名称字段,我不想用它作为选择文本。 当然,为了传递正确的数据,我需要知道用户选择了哪个对象 FXML控制器: public void initialize(URL fxmlFileLocation, ResourceBundle resources) { UniversitiesService uniService = new UniversitiesServiceImpl(); List<University> uniList

我不想从
列表中填充
选择框
。我的对象有一个名称字段,我不想用它作为选择文本。 当然,为了传递正确的数据,我需要知道用户选择了哪个对象

FXML控制器:

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

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 ;
    }
});
uniChoiceBox.setConverter(新的StringConverter(){
@凌驾
公共字符串到字符串(大学大学){
返回uni.getUniversityName();
}
@凌驾
//没有用。。。
公立大学fromString(字符串s){
返回null;
}
});
就这么做吧

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 ;
    }
});
uniChoiceBox.setConverter(新的StringConverter(){
@凌驾
公共字符串到字符串(大学大学){
返回uni.getUniversityName();
}
@凌驾
//没有用。。。
公立大学fromString(字符串s){
返回null;
}
});

您使用的是什么框架,发布一些代码并提供更多关于您打算做什么的信息。您尝试过什么?你阅读了吗?你在使用什么框架,发布一些代码,并提供更多关于你打算做什么的信息。你尝试了什么?你读了吗?我完全忘记了toString()方法。谢谢詹姆斯(再一次)!我完全忘记了toString()方法。谢谢詹姆斯(再一次)!