Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/06/2011, 16:32
Avatar de valdo_kof
valdo_kof
 
Fecha de Ingreso: noviembre-2009
Ubicación: San Juan del Rio, Qro
Mensajes: 192
Antigüedad: 14 años, 6 meses
Puntos: 16
Respuesta: Rellenar un ComboBox netbeans

lo que necesitas es un combo dependiente, te dejo el ejemplo que realice para estados y municipios que es lo mismo que tu necesitas

estados=autores
municipios=titulos

tambien dividir tu tabla has una de autores y otra de titulo algo como esto

autor
id_autor
nombre_autor

titulo
id_titulo
titulo
id_autor

y creas una clave foranea en titulo y listo es mas facil asi y mas funcional

aqui esta el ejemplo

primero si usas netbeans crea un nuevo frame y coloca dos jComboBox y uno lo inicialisas como disabled o enabled=false;

luego cuando inicialisas tu clase pones esto

Código Java:
Ver original 

en tu constructor pones esto

Código Java:
Ver original
  1. llenar_est();

y creas dos clases

Código Java:
Ver original
  1. public void llenar_est() {
  2.         try {
  3.             Class.forName("com.mysql.jdbc.Driver");
  4.             conexion = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/tabla", "root", "");
  5.             st = (Statement) conexion.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
  6.             rs = st.executeQuery("SELECT * FROM est");
  7.             modeloCombo.addElement("Seleccione un Estado");
  8.             jComboBox1.setModel(modeloCombo);
  9.             while (rs.next()) {
  10.                 modeloCombo.addElement(rs.getObject("est"));
  11.                 jComboBox1.setModel(modeloCombo);
  12.             }
  13.  
  14.             st.close();
  15.         } catch (SQLException ex) {
  16.             Logger.getLogger(frame1.class.getName()).log(Level.SEVERE, null, ex);
  17.         } catch (ClassNotFoundException ex) {
  18.             Logger.getLogger(frame1.class.getName()).log(Level.SEVERE, null, ex);
  19.         }
  20.     }
  21. public void llenar_muni(String est){
  22.     jComboBox2.enable(true);
  23.     jComboBox2.removeAllItems();
  24.  try {
  25.             Class.forName("com.mysql.jdbc.Driver");
  26.             conexion = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/tabla", "root", "");
  27.             st = (Statement) conexion.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
  28.             rs = st.executeQuery("SELECT * FROM muni,est where muni.id_est=est.id_est and est='"+est+"'");
  29.             modeloCombo2.addElement("Seleccione un Municipio");
  30.             jComboBox2.setModel(modeloCombo2);
  31.             while (rs.next()) {
  32.                 modeloCombo2.addElement(rs.getObject("muni"));
  33.                 jComboBox2.setModel(modeloCombo2);
  34.             }
  35.  
  36.             st.close();
  37.         } catch (SQLException ex) {
  38.             Logger.getLogger(frame1.class.getName()).log(Level.SEVERE, null, ex);
  39.         } catch (ClassNotFoundException ex) {
  40.             Logger.getLogger(frame1.class.getName()).log(Level.SEVERE, null, ex);
  41.         }
  42. }


y listo eso es todo lo que se necesita para los combos dependientes

Última edición por valdo_kof; 01/06/2011 a las 16:37