Cuando intento conectar con base de datos en un ComboBox me da el error "No suitable driver found for jdbc:mysql"
Sin embargo en el segundo ComboBox que es exactamente igual solo que dentro de un ActionListener funciona bien.
¿Cómo puede ser esto posible?
Código PHP:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;
public class Salida extends JFrame {
private JPanel contentPane;
private JTextField tf1;
private JTextField tf2;
private JTextField tf3;
private JTextField tf4;
private JTextField tf5;
private JComboBox combo1;
private JComboBox combo2;
private Object Codigo;
private int CodigoInt;
private int Albaran;
private int PaletsEntrada;
private String Almacen;
private java.util.Date Fecha;
private java.sql.Date Fecha2;
private JLabel labelResultado;
private JButton btnConsultaPorCdigo;
private JLabel lblIngreseCdigoDe;
public Salida() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 606, 405);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JLabel lblSeleccionCodigo = new JLabel("Selecciona el Código");
lblSeleccionCodigo.setBounds(23, 38, 193, 14);
contentPane.add(lblSeleccionCodigo);
//combobox de seleccion de codigo
JLabel lblCodigo = new JLabel("Código");
lblCodigo.setBounds(23, 74, 95, 14);
contentPane.add(lblCodigo);
combo1=new JComboBox();
combo1.setBounds(247, 20, 193, 20);
contentPane.add(combo1);
try {
Connection conexion=DriverManager.getConnection("jdbc:mysql://127.0.0.1/almacenaje","root" ,"mysql");
Statement comando=conexion.createStatement();
ResultSet rscodigosenvase = comando.executeQuery("select Codigo from envase_codigo");
while (rscodigosenvase.next())
{
combo1.addItem(rscodigosenvase.getObject("Codigo"));
}
} catch(SQLException ex){
setTitle(ex.toString());
}
JLabel lblFecha = new JLabel("Formato");
lblFecha.setBounds(23, 74, 95, 14);
contentPane.add(lblFecha);
tf2 = new JTextField();
tf2.setBounds(247, 71, 107, 20);
contentPane.add(tf2);
tf2.setColumns(10);
JLabel lblAlbaran = new JLabel("Albarán");
lblFecha.setBounds(23, 104, 95, 14);
contentPane.add(lblAlbaran);
tf3 = new JTextField();
tf3.setBounds(247, 101, 107, 20);
contentPane.add(tf3);
tf3.setColumns(10);
JLabel lblPaletsEntrada = new JLabel("Palets Entrada");
lblPaletsEntrada.setBounds(23, 134, 95, 14);
contentPane.add(lblPaletsEntrada);
tf4 = new JTextField();
tf4.setBounds(247, 131, 107, 20);
contentPane.add(tf4);
tf4.setColumns(10);
JLabel lblAlmacen = new JLabel("Almacen");
lblAlmacen.setBounds(23, 164, 95, 14);
contentPane.add(lblAlmacen);
tf5 = new JTextField();
tf5.setBounds(247, 161, 107, 20);
contentPane.add(tf5);
tf5.setColumns(10);
JButton btnAlta = new JButton("Alta");
btnAlta.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
combo1=new JComboBox();
combo1.setBounds(247, 20, 193, 20);
contentPane.add(combo1);
try {
Connection conexion=DriverManager.getConnection("jdbc:mysql://127.0.0.1/almacenaje","root" ,"mysql");
Statement comando=conexion.createStatement();
ResultSet rscodigosenvase = comando.executeQuery("select Codigo from envase_codigo");
while (rscodigosenvase.next())
{
combo1.addItem(rscodigosenvase.getObject("Codigo"));
}
} catch(SQLException ex){
setTitle(ex.toString());
}
}
});
btnAlta.setBounds(247, 218, 89, 23);
contentPane.add(btnAlta);
cargarDriver();
}
private void cargarDriver() {
try {
Class.forName("com.mysql.jdbc.Driver");
}catch(Exception ex) {
setTitle(ex.toString());
}
}
}