我有一个员工列表,我需要在组合框中呈现其姓名以供用户选择。以下代码呈现下拉列表中的名称,但是当我选择一个名称时,组合显示的文本包含完整的 POJO 标识,如“src.org.entities.Employee@449ac7ce”的字符串
cboEmployees.setCellFactory(new Callback<ListView<Employee>, ListCell<Employee>>()
{
@Override
public ListCell<Employee> call(ListView<Employee> p)
{
return new ListCell<Employee>()
{
@Override
protected void updateItem(Employee item, boolean empty) {
super.updateItem(item, empty);
if (item != null)
{
setText(item.getName());
}
}
};
}
});
有没有办法让显示的文本也呈现选定的名称而不覆盖 POJO 的 toString() 方法?