Estoy llenando un ListBox con una lista de entidades de una fuente MySQL. No puedo ver cómo decirle qué campo usar como su ID y cuál usar como su pantalla.
Para ComboBox, puedo usar setItemLabelGenerator para decirle qué campo usar para mostrar, pero no puedo ver cuál sería el equivalente para ListBox.
ListBox<MyEntitySource> entityListBox = new ListBox<MyEntitySource>(); List<MyEntitySource> entitySource = (List<MyEntitySource>) entityRepository.findAll(); entityListBox.setItems(entitySource);Esto termina mostrándose como, por ejemplo: MyEntity{id=1, description=Item 1}
¿Cómo le digo que mantenga el ID como campo "id" y muestre el valor como campo "descripción"?
Debe aplicar un renderizador para los elementos, algo como:
entityListBox.setRenderer(new TextRenderer<>(entity -> entity.getDescription()));