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