Ver Mensaje Individual
  #4 (permalink)  
Antiguo 30/05/2011, 14:42
Avatar de valdo_kof
valdo_kof
 
Fecha de Ingreso: noviembre-2009
Ubicación: San Juan del Rio, Qro
Mensajes: 192
Antigüedad: 15 años
Puntos: 16
Respuesta: llenar un jcombobox con un resultset

utiliza un modelo, yo lo hago de esta forma

donde inicia tu clase pon esto

Código Java:
Ver original
  1. import javax.swing.DefaultComboBoxModel;
  2.  
  3. public class nombre_clase{
  4.  DefaultComboBoxModel modeloCombo = new DefaultComboBoxModel();//esto es el modelo
  5. }

creas una clase para llenar ese combo

Código Java:
Ver original
  1. public void llenar_combo() {
  2.         try {
  3.             Class.forName("com.mysql.jdbc.Driver");
  4.             conexion = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/base", "usuario", "pass");
  5.             st = (Statement) conexion.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
  6.             rs = st.executeQuery("SELECT * FROM tabla");
  7.             modeloCombo.addElement("Seleccione un campo");//es el primer registro q mostrara el combo
  8.             jComboBox1.setModel(modeloCombo);//con esto lo agregamos al objeto al jcombobox
  9.             while (rs.next()) {
  10.                 modeloCombo.addElement(rs.getObject("dato"));
  11.                 jComboBox1.setModel(modeloCombo);
  12.             }
  13.  
  14.             st.close();
  15.         } catch (SQLException ex) {
  16.             Logger.getLogger(nombre_clase.class.getName()).log(Level.SEVERE, null, ex);
  17.         } catch (ClassNotFoundException ex) {
  18.             Logger.getLogger(nombre_clase.class.getName()).log(Level.SEVERE, null, ex);
  19.         }
  20.     }


y listo

si quieres actualizar este combo digamos cuando insertas datos o eliminas datos se hace esto al final de la operacion (insertar, eliminar)

Código Java:
Ver original
  1. jComboBox1.removeAllItems();//con esto limpias el combo o remueves todo lo que tiene actualmente
  2.  
  3. llenar_combo(); y vuelves a llamar tu metodo donde llenas el combo

espero y te sirva