curso de java

Curso de Java
Desde cero hasta conexiones con bases de datos MySQL

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();

	}

} 

[ Anterior | Siguiente ]