Java - auto actualizar JCOMBOBOX

 
Vista:

auto actualizar JCOMBOBOX

Publicado por glaciela (2 intervenciones) el 03/02/2011 20:22:09
Tengo un JComboBox en donde listo el nombre de varias personas despues de hacer una consulta sql, pero al actualizar un nombre no cambia automaticamente en el JComboBox, sino que debo cerrar la aplicacion y al abrirla de nuevo veo el cambio en el JComboBox

si tengo el nombre luis en el JComboBox y lo actualizo a juan debo reiniciar mi aplicacion para verlo.

Como puedo conseguir que al momento de hacer una actualizacion cambie automaticamente el nombre en el JComboBox sin necesidad de reiniciar? existira alguna palabra clave
gracias

esta es la consulta que hago para visualizar los datos en el combobox

Statement sentencia=conexion.createStatement();
String sql="select nombre as Nombre from persona";
ResultSet resultado=sentencia.executeQuery(sql);

while(resultado.next())
{
String nombre=resultado.getString("Nombre");
asii.get_JCombo().addItem(nombre);

}//fin while
//combo.addItem (rs.getObject(1));
fabrica.cerrarConexion();
sentencia.close();
resultado.close();
}//fin try
catch(SQLException e){System.out.println("fff:"+e);}
}

para actualizar ocupo este codigo que es llamado de mi checkbox

public void actualizar
try
{
String nombre_actualizado=asii.text_actualizar.getText();
int ruttt=Integer.parseInt(asii.text_datoRut.getText());
String sql = "update persona set nombre='"+nombre_actualizado+"' where rut='"+ruttt+"'";
Statement sentencia = conexion.prepareStatement(sql);
sentencia.executeUpdate(sql);
}
catch(SQLException e){System.out.println("Exception:"+e);}

desde este checkbox llamo a la funcion actualizar

if(checkbox1[1].isSelected()==true)
{

vali.actualizar();

}
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

RE:auto actualizar JCOMBOBOX

Publicado por java_jediknight (13 intervenciones) el 03/02/2011 21:53:17
¡Hola!

Toda tu lógica está muy bien Graciela, lo que pasa es que lo que se almacena en tu combo es la primera consulta que hiciste, y digamos que toda esa lista de nombres se queda en el combobox, si tú actualizas el registro, la información que actualizas cambia en la base de datos, pero no en la lista de tu combobox, por así decirlo, la primera consulta que hiciste, se queda pegada. ¿Palabra clave? Ojalá hubiese, nos haría más fácil la vida, aunque algunos frameworks de programación Web si lo permiten, en JSE nop, pero la solución es fácil. Una vez que llamas al método actualizar, es decir, apenas hayas hecho los cambios, llama a tu método listar de nuevo, OJO que antes de listar, debes limpiar tu combobox para evitar que se añadan registros repetidos, más o menos, iría así:

public void listar(){
Statement sentencia=conexion.createStatement();
String sql="select nombre as Nombre from persona";
ResultSet resultado=sentencia.executeQuery(sql);
get_JCombo().removeAll(); //Aquí siempre limpias antes de llenar el combo
while(resultado.next())
{
String nombre=resultado.getString("Nombre");
asii.get_JCombo().addItem(nombre);

}//fin while
//combo.addItem (rs.getObject(1));
fabrica.cerrarConexion();
sentencia.close();
resultado.close();
}//fin try
catch(SQLException e){System.out.println("fff:"+e);}
}
}
para actualizar ocupo este codigo que es llamado de mi checkbox

public void actualizar
try
{
String nombre_actualizado=asii.text_actualizar.getText();
int ruttt=Integer.parseInt(asii.text_datoRut.getText());
String sql = "update persona set nombre='"+nombre_actualizado+"' where rut='"+ruttt+"'";
Statement sentencia = conexion.prepareStatement(sql);
sentencia.executeUpdate(sql);
}
catch(SQLException e){System.out.println("Exception:"+e);}

desde este checkbox llamo a la funcion actualizar

if(checkbox1[1].isSelected()==true)
{

vali.actualizar();
vali.listar();
}

Así es como refrescas los datos de tu JComboBox n.n
Éxitos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:auto actualizar JCOMBOBOX

Publicado por graciela (2 intervenciones) el 03/02/2011 22:55:56
Muchas gracias java_jediknight con tu ayuda me funciona el programa sin problemas :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:auto actualizar JCOMBOBOX

Publicado por java_jediknight (13 intervenciones) el 04/02/2011 16:18:15
Descuida, siempre estamos como colegas para darnos la mano ;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar