estuve viendo y la idea del
@toString() con solo la variable de instancia nombre, no es buena idea.
Es mejor renderizar lo que queramos en el combo, porque si necesitas ese toString en un futuro pues listo.
import javax.swing.*;
import java.awt.*;
@Override
public Component getListCellRendererComponent
(JList
<?> list,
Object value,
int index,
boolean isSelected,
boolean cellHasFocus
) { if (value instanceof Trabajador) {
Trabajador trabajador = (Trabajador) value;
setText(trabajador.getNombre());
}
return this;
}
}
jComboBox.setRenderer(new ComboRenderer());
Entonces tu
@toString() quedaria normal, y el combo tendria el mismo comportamiento que el anterior pero mejor, mas pulcro asi.
@Override
final StringBuilder sb = new StringBuilder("\nTrabajador");
sb.append("\nnombre='").append(nombre).append("\n");
sb.append(", apellido='").append(apellido).append("\n");
sb.append(", correo='").append(correo).append("\n");
sb.append("]");
return sb.toString();
}