
Curso de Java
Desde cero hasta conexiones con bases de datos MySQL
Curso de Java: Contenido
Aplicación: página 15
[ 11, 12, 13, 14, 15, 16, 17 ]
Aplicación de ejemplo
Aplicación de ejemplo
Controlador
Hasta ahora tenemos los mecanismos de conexión a base de datos y la posibilidad de mostrarlos; toca a una clase controladora llevar el proceso de autenticación y de obtención de la información. Esto se realiza con el método acciones() que discrimina cada uno de los cuatro botones en la aplicación (aquéllos a los que le agregamos listener en la ventana y a los que nos referiremos con su nombre en cursiva). Los objetos cancelar y salir, cerrarán la aplicación. Por su parte, aceptar tomará los valores de los campos de texto de autenticación y los enviará como parámetro a un objeto de la clase Conector. Si la conexión se logra, el diálogo se cerrará y le entrega el control a la ventana principal, si no, muestra el error en un cuadro de diálogo. Por su parte, consultar manda el contenido del área de texto y la conexión a una instancia de ConsultaSQL que muestra los datos en la tabla si los obtiene, si no, indica a su vez el error en otro cuadro de diálogo.
Controlador.java package visorconsultas.controlador; import visorconsultas.vista.VentanaConsultas; import java.awt.event.ActionEvent; public class Controlador { Conector conMySQL; public Controlador() { } public void acciones(VentanaConsultas visor, ActionEvent evt){ Object clicado=evt.getSource(); if(clicado==visor.autenticador.panel.aceptar){ String host=visor.autenticador.panel.servidor.getText(); String usuario=visor.autenticador.panel.usuario.getText(); String pw=new String(visor.autenticador.panel.password.getPassword()); String base=visor.autenticador.panel.base.getText(); conMySQL=new Conector(host,usuario,pw,base); if(conMySQL.getConexion()!=null) visor.autenticador.dispose(); else muestraError("El error que manda MySQL es:\n"+conMySQL.getMensajeError()); } if(clicado==visor.botones.consultar){ ConsultaSQL consulta= new ConsultaSQL(conMySQL.getConexion(),visor.area.texto.getText()); if(consulta.getMensajeError()==null) visor.resultados.modelo.setDataVector (consulta.getDatosDevueltos(),consulta.getNombresColumnas()); else muestraError("El error que manda MySQL es:\n"+consulta.getMensajeError()); } if(clicado==visor.autenticador.panel.cancelar||clicado==visor.botones.salir) System.exit(0); } private void muestraError( String e){ javax.swing.JOptionPane.showMessageDialog(null,e); } public static void main(String[] args){ new visorconsultas.vista.VentanaConsultas(); } }