ユーザーが選択できるようにコンボボックスに名前を表示する必要がある従業員のリストがあります。次のコードはドロップダウンリストに名前を表示しますが、名前を選択すると、コンボに表示されるテキストには、「src.org.entities.Employee@449ac7ce」のような文字列である完全なPOJOのIDが含まれます。
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()メソッドをオーバーライドせずに、表示されたテキストで選択した名前もレンダリングする方法はありますか?