Primer método: aplicar toString()
en la clase Employee, y hacer que se devuelva el nombre. Haga que su modelo de cuadro combinado contenga instancias de empleado. Al obtener el objeto seleccionado del combo, obtendrá una instancia de Empleado y podrá obtener su ID.
Segundo método: si toString()
devuelve algo que no sea el nombre (información de depuración, por ejemplo), haga lo mismo que arriba, pero además establezca un procesador de celdas personalizado en su combo. Este procesador de celdas tendrá que emitir el valor a Employee, y establecer el texto de la etiqueta con el nombre del empleado.
public class EmployeeRenderer extends DefaulListCellRenderer {
@Override
public Component getListCellRendererComponent(JList<?> list,
Object value,
int index,
boolean isSelected,
boolean cellHasFocus) {
super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
setText(((Employee) value).getName());
return this;
}
}
Creo que es mejor usar un renderer en lugar de cambiar un 'a String() 'para adaptarse a la GUI. –