Ni con esto no me funciona.
jComboBox1.setSelectedItem("Seleccione Clase");
Esto es el error que me sale
(http://i.elhacker.net/i?i=nRcEqMbfnZfMu8MvsVL_9mVo)
Quiero que regrese a fila 0, al limpiar
¿En tu lógica, que te dice esto?
Citarjava.lang.String can not cast to redfarma.ComboProveedor
JComboBox acepta un tipo de dato como ítem y éste es
String. Tu le estás pasando un objeto ComboProveedor y el compilador lo está tratando de convertir a String pero no puede y lanza la excepción.
ComboProveedor puede ser un objeto y que sobreescriba el método
toString(). Ejemplo:
class Provider
{
private String name;
private String description;
public Provider(String name, String description)
{
this.name = name;
this.description = description;
}
public String getName()
{
return name;
}
public String getDescription()
{
return description;
}
@Override
public String toString()
{
return name;
}
}
Y ahora ya puedes guardarlo en el combo:
comboBox.addItem(new Provider("Empresa abc", "Proveedor de productos escolares"));
Y para recuperarlos:
Provider item = (Provider) cboProveedores.getSelectedItem();
String name = item.getName(); // retorna "Empresa abc"
String description = item.getDescription(); // retorna "Proveedor de utiles escolares
El método
toString() es llamado automáticamente en todo contexto en donde se acepten String y se envíe un objeto. Por eso, al agregar el objeto Provider al JComboBox, en realidad se está llamando a su método
toString() que retorna el nombre del proveedor.
Saludos.