Limpiar Combobox o Agregar Seleccione

Iniciado por soy_nicanor, 6 Marzo 2015, 03:39 AM

0 Miembros y 1 Visitante están viendo este tema.

soy_nicanor

Utilizo este código para Limpiar
Código (java) [Seleccionar]

jComboBox1.setSelectedIndex(0);





Estoy sacando datos a combobox de mysql

Código (java) [Seleccionar]

void Proveedor() throws SQLException {
       Conexion cn=new Conexion();
       Connection conn = cn.Conectar();
       ResultSet rs;    
       
       String sql="SELECT * FROM proveedor ORDER BY nombreEmpresa ASC";
       PreparedStatement sqls = conn.prepareStatement(sql);
       rs = sqls.executeQuery();
       while(rs.next()){
           ComboProveedor u =new ComboProveedor();
           u.setId_prov(rs.getInt("id_prov"));
           u.setNombreEmpresa(rs.getString("nombreEmpresa"));
           jComboBox1.addItem(u);  
       }
   }



El problema es al momento de limpiar después de haber sacado datos en combo
Me manda error y no me limpia

soy_nicanor

#1
Ni con esto no me funciona.
jComboBox1.setSelectedItem("Seleccione Clase");

Esto es el error que me sale




Quiero que regrese a fila 0, al limpiar

Usuario Invitado

¿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:

Código (java) [Seleccionar]
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:

Código (java) [Seleccionar]
comboBox.addItem(new Provider("Empresa abc", "Proveedor de productos escolares"));

Y para recuperarlos:

Código (java) [Seleccionar]
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.
"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein