Statement stat = null; ResultSet resultado = null; Connection conexion = null;Ahora modificamos un poco el método para llenar el combo, cargando la clase de MySQL y las variables para la consulta de forma (un poco) dinámica.
private void llenarcombo2 (String consulta) { combo2.removeAllItems(); try { Class.forName("com.mysql.jdbc.Driver").newInstance(); conexion = DriverManager.getConnection ("jdbc:mysql://localhost:3306/prueba","root", "123456"); stat = conexion.createStatement(); resultado = stat.executeQuery (consulta); while (resultado.next()){ combo2.addItem (resultado.getObject(1)); } } catch(Exception exp){ System.out.print(exp); } }Por último cambiamos la forma en que se llama el listener.
class ListenerCombo implements ActionListener { public void actionPerformed(ActionEvent evt) { switch(combo1.getSelectedIndex()){ case 0:llenarcombo2("SELECT nombre FROM usuarios");break; case 1:llenarcombo2("SELECT apellido FROM usuarios");break; case 2:llenarcombo2("SELECT cedula FROM usuarios");break; case 3:llenarcombo2("SELECT telefono FROM usuarios");break; default:llenarcombo2("SELECT nombre FROM usuarios");break; } } }Y listo, con esto nuestra clase queda así
import javax.swing.*; import java.awt.event.*; import java.sql.*; @SuppressWarnings("deprecation") public class jComboBox extends JFrame { Statement stat = null; ResultSet resultado = null; Connection conexion = null; JComboBox combo1 = new JComboBox(); JComboBox combo2 = new JComboBox(); JPanel panel = new JPanel(); public jComboBox() { super("Los ComboBox"); setLocation(100,100); setSize(550,210); add(panel); combo1.addItem("nombre"); combo1.addItem("apellido"); combo1.addItem("cedula"); combo1.addItem("telefono"); panel.add(combo1); panel.add(combo2); llenarcombo2("SELECT nombre FROM usuarios"); combo1.addActionListener(new ListenerCombo()); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } private void llenarcombo2 (String consulta) { combo2.removeAllItems(); try { Class.forName("com.mysql.jdbc.Driver").newInstance(); conexion = DriverManager.getConnection ("jdbc:mysql://localhost:3306/prueba","root", "123456"); stat = conexion.createStatement(); resultado = stat.executeQuery (consulta); while (resultado.next()){ combo2.addItem (resultado.getObject(1)); } } catch(Exception exp){ System.out.print(exp); } } class ListenerCombo implements ActionListener { public void actionPerformed(ActionEvent evt) { switch(combo1.getSelectedIndex()){ case 0:llenarcombo2("SELECT nombre FROM usuarios");break; case 1:llenarcombo2("SELECT apellido FROM usuarios");break; case 2:llenarcombo2("SELECT cedula FROM usuarios");break; case 3:llenarcombo2("SELECT telefono FROM usuarios");break; default:llenarcombo2("SELECT nombre FROM usuarios");break; } } } public static void main(String[] arg) { JOptionPane.showMessageDialog(null,"Los JComboBox....\n"); JOptionPane.showMessageDialog(null,"By Carlitox ("+ "http://calitoxenlaweb.blogspot.com)"); jComboBox app = new jComboBox(); app.setVisible(true); } }
Recibe notificaciones por correo
5 Comentarios
Escribir Comentarioprobare
Responderprobe pero al momento de seleccionar otra ciudad no cambia?
Responderseguire probando y te cuento
ResponderEscribe tu código para ver que haces exactamente, fíjate en el método "llenarcombo2" y el listener.
ResponderLamentablemente hay muchos usuarios en la red que han llegado al blog para escribir obscenidades, así que la moderación se hace necesaria. Recuerda utilizar un lenguaje correcto y espera a que sea aprobado.
Si necesitas publicar código haz click en "Conversión" para hacerlo legible.
ConversiónConversión