Java - JComboBox...

 
Vista:

JComboBox...

Publicado por Carlos Corona (9 intervenciones) el 24/04/2008 20:37:40
Hola! estoy creando una pequeña aplicacion que se vincula con una BD hecha en MySQL, la idea es que quiero crear 3 JComboBox, de manera que dependiendo de lo que seleccione en el primero, cambien los contenidos del 2 y 3, y que cuando seleccione algo en el 2, cambie el contenido en el 3 y que cuando se seleccione algo en el 3, cambie un valor en un JTextField...

Ya más o menos he hecho algo... el problema es que estoy ocupando el método changeIemProperty (o algo así) que se invoca cada vez que cambio algo dentro del JComboBox... el problema es que cree este método que mando a llamar desde los changeItemProperty de cada JComboBox:

private void fillBox(javax.swing.JComboBox box,String query,String column){
box.removeAllItems();
try{
ResultSet rs = mydb.executeQuery(query);
while (rs.next())
box.addItem(rs.getObject(column));
} catch (Exception e){
System.err.println(e);
}
}

ahora, yo lo estoy llamando así:

la declaración del changeItemProperty(changeEvent evt){
if (evt.getEvtCode() == changeEvet.SELECTED){
fillBox(esteJBox,"Mi Select","ElCampo");
}
}

(Perdonen si no pongo bien los nombres de los métodos, no los tengo a mano por un pequeño error de archivo...)

Ahora... el problema es que cuando éste código lo tiene tan solo el primer JComboBox, funciona perfecto, es decir, me actualiza todo, si lo pongo:

la declaración del changeItemProperty(changeEvent evt){
if (evt.getEvtCode() == changeEvet.SELECTED){
fillBox(miJBox2,"Mi Select","ElCampo");
fillBox(miJBox3,"Mi Select","ElCampo");
otroMetodo();
}
}

pero al rellenar de igual forma los métodos ChangeItemProperty de los otros dos, me marca un error que dice algo así como que el proceso no es válido una vez que se ha cerrado el recordset.... hice un debug y el problema está que en la llamada al método, cuando dice "box.removeAllItems()", se dispara la propiedad ChangeItemProperty de ese box y aunque no hace nada, cuando regresa, por alguna razón se ha cerrado el ResultSet... alguien me puede explicar por qué o cómo le debo de hacer???

Lo único que quiero es que los 3 queden sincronizados... existe otra manera??
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder