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());
}
}