Necesito ayuda, tengo un problema con mi trabajo de universidad,error jcombobox

Iniciado por Docs, 5 Diciembre 2018, 02:07 AM

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

Docs

Bueno, poniéndonos en contexto, me pidieron en la universidad que hiciera un programa con dos combobox que cuando presionara y seleccionara una de las opciones del primer combobox  el segundo combobox desplegara otras y que las opciones de este segundo combobox cambiaran dependiendo de  que se haya seleccionado en el primer combobox ( por cierto este programa esta ligado a una base de datos pero no tengo problemas con ella).

P.D: el lenguaje que uso es java.

los problemas que tengo son :

1°- cuando selecciono una opccion del primer combobox no hay problema, pero cuando veo las opciones del segundo combobox aparecen duplicadas (por ejemplo: elijo un país cualquiera (Chile por ejemplo) en el primer combobox y en el segundo me deverian aparecer dos ciudades (Concepcion y Temuco por ejemplo ), pero sin embargo en el segundo aparece (Concepcion,Temuco  y denuevo aparece Concepcion,Temuco) y este problema viene de la mano con el 2°.

2°-Y por ultimo cuando cambio las opciones del primer combobox, las opciones del segundo combobox no cambian, se quedan ahí.

Si alguien me pudiera ayudar le estaré muy agradecido.

Muchas gracias por su atención.

Aqui dejo la parte que me esta causando problemas:

    private void pais_cbxItemStateChanged(java.awt.event.ItemEvent evt) {                                         
        String nombre,nombre_ciudad;
        String id;
        int _id = 0;
        nombre = (String) this.pais_cbx.getSelectedItem();//extraer valor
        try {
            String query = "select*from pais WHERE Nombre_Pais='" + nombre + "'";
            Class.forName("com.mysql.jdbc.Driver");
            Connection conx = DriverManager.getConnection("jdbc:mysql://localhost/asd", "root", "inacap2018");//direccion del servidor
            Statement s = conx.createStatement();
            ResultSet rs = s.executeQuery(query);
            while (rs.next())//recoger bolsa
            {

                _id = rs.getInt(1);
                id = String.valueOf(_id);

            }
             query="select Nombre_Ciudad from ciudad where ID_Pais="+_id;
       
             rs=s.executeQuery(query);
                while (rs.next())
            {

                nombre_ciudad=rs.getString(1);
                System.out.println(nombre_ciudad);
                this.Ciudad_cbx.addItem(nombre_ciudad);
                System.out.println(nombre_ciudad);

            }
        } catch (Exception e) {
            System.out.println("Error");
            System.out.println(e.getMessage());
        }

    }       

rub'n

Hola usa geshi dog



la salida en

Código (java) [Seleccionar]

System.out.println(nombre_ciudad);


el output es Concepcion y Temuco + Concepcion y Temuco ?




No acostumbres a publicar esto. "root", "inacap2018"

Código (java) [Seleccionar]
DriverManager.getConnection("jdbc:mysql://localhost/asd", "root", "inacap2018");//direccion del servidor


rubn0x52.com KNOWLEDGE  SHOULD BE FREE!!!
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen