viernes, 15 de julio de 2011

Eventos, excepciones y errores

Evento:

Esta parte del codigo es el metodo que se tiene que implementar de ActionListener, el cual va a "escuchar" el menu desplegable de la ventana principale:
public void actionPerformed(ActionEvent ae) {
  if(ae.getSource() == Agregar){
   AgregarCliente a = new AgregarCliente();
  }else if(ae.getSource() == Eliminar){
   EliminarCliente DEL = new EliminarCliente();
  }else if(ae.getSource() == Nuevo){
   //AgregarJuego AJ = new AgregarJuego();
  }else if(ae.getSource() == Borrar){
   //EliminarJuego Bor = new EliminarJuego();
  }else if(ae.getSource() == TC){
   this.fillTable();
   System.out.println("Conectando...");
  }

Este pedazo es sencillo, lo que hace es utilizar un metodo "getSource" del objeto ActionEvent, 
para saber de que boton se produjo el evento, y despues lo que hace es compararlo con  cada uno de los botones disponibles para ver si el evento se produjo de tal boton.  Y asi realizar la accion que tenga ese boton.

Excepciones:
public void actionPerformed(ActionEvent e) {
   JButton b = (JButton)e.getSource();
   if(b==boton_aceptar){
    c = (campocliente.getText());
    t = (campotel.getText());
    d = (campodir.getText());
           l = (campoed.getText());
    u = (campocel.getText());
    r = (camporefe.getText());
     try{
      rows_updated = 0;
      PreparedStatement aux = objeto_base.ct.prepareStatement("INSERT INTO Clientes(Nombre, Edad, Direccion, Telefono, Celular, Referente)VALUES(?,?,?,?,?,?)");
      aux.setString(1,c); 
      aux.setString(2,l); 
      aux.setString(3,d);
      aux.setString(4,t); 
      aux.setString(5,u);
      aux.setString(6,r);
      rows_updated = aux.executeUpdate(); 
       
      JOptionPane.showMessageDialog(this, "Registro Agregado");
      this.setVisible(false);
    
     }catch(SQLException d){
      JOptionPane.showMessageDialog(this, "Error");
     }
  }else if(b==botoncancelar){
   this.setVisible(false);
  }
   
  }
  
 }
 Al igual que en el codigo que mencione arriba, primero fue igualar un boton local con el getSource del ActionEvent, para asi comparar solo botones.
Despues en el Try, lo que hace es prepar la sentencia de SQL para agregar cliente pasandole los parametros que extraje de los campos que lleno el usuario. 
Despues se ejecuta el update y me manda un mensaje de que se pudo hacer.
En el Catch, hay una excepcion del tipo "SQLException" la cual solo mostrara un mensaje  que diga que no se puedo, esto ayuda a que el programa no se quede buscando informacion.

Errores:
Un error que tiene el sistema, es uno simple donde no le pongo que funcionen las teclas por lo
tanto al momento de querer oprimir un boton se tiene que hacer con el mouse.

No hay comentarios:

Publicar un comentario en la entrada