jueves, 14 de julio de 2011

Proyecto.Implementacion de Eventos, Excepciones y Errores

Bueno esta entrada correspone a la implementacion de Eventos, Excepciones y Errores.
Implementacion de Eventos.
Bueno dentro de mi codigo identifique estos eventos creo que es importante ya que forma parte de una de mis ventanas principales en esta parte de codigo seria el manejador de eventos.Se utiliza un metodo "getSource" del evento ActionEvent para saber de que boton se produjo el evento, despues compara con cada un de los botones para ver si el evento se produjo y si esto sucede se produce una instruccion determinada.El addMenuItem lo que hace es instanciar un objeto de otra clase.
public void actionPerformed(ActionEvent ae){
    if(ae.getSource() == addMenuItem){
 VAgregar a = new VAgregar();
 this.fillTable();
    }else if(ae.getSource() == readMenuItem){
 this.fillTable();
    }else if(ae.getSource() == eliminar){
 VEliminar v2 = new  VEliminar();  
Bueno otro seria el actionPerformed es algo similar pero hay cosas en la que se diferencia, lo que se hace es checar de donde se produjo el evento, aqui en este evento tambien manejo algunas excepciones, esto seria con el try/catch, esto se hace asi para que se lanze una excepcion en caso que se presente un error al tratar de trabajar con la base de datos. Tambien se verfifico el contenido del JTextField, para checar que no este vacio, y despues me tira un mensaje de que se pudo hacer, y en el catch tambien me tira un mensaje si no se pudo completar el try.
public void actionPerformed(ActionEvent e) 
{
if(e.getSource()==Botonaceptar)
{
IDString = (campoID.getText());
if(IDString.equals("") || IDString.isEmpty()) 
{
JOptionPane.showMessageDialog(this, "ID no registrado");
}else
{
IDtxt = Integer.parseInt(IDString);
System.out.println(query);
try {
dbm.eliminarID(IDtxt);
JOptionPane.showMessageDialog(this, "Registro Eliminado");
this.setVisible(false);
}catch(Exception e1){
JOptionPane.showMessageDialog(this,"No se pudo eliminar el registro");
}
}
}else if(e.getSource() == Botoncancelar){
this.setVisible(false);
}
}  

Excepciones y Errores.
El manejo de excepciones siempre va dentro del escuchador de eventos, ya que alli es donde se ejecutan las sentencias de SQL, esta es una parte del codigo.
public void actionPerformed(ActionEvent e){
     JButton b = (JButton)e.getSource();
  
 if(b==boton_aceptar){
     c = (campocliente.getText());
t = (campotel.getText());
            d = (campodir.getText());
            l = (campoloc.getText());
          IDc = (campoIDc.getText());
  //Sentencias para pasar los valores al registro//
try{ 
 rows_updated = 0;
PreparedStatement aux = objeto_base.ct.prepareStatement("INSERT INTO Directorio(nombre,direccion,telefono,localida,ID) VALUES(?,?,?,?,?)");
   aux.setString(1,c);
   aux.setString(2,d);
   aux.setString(3,t);
   aux.setString(4,l);
   aux.setString(5,IDc);
  
   rows_updated = aux.executeUpdate();
   
     JOptionPane.showMessageDialog(this, "Registro Agregado"); 
   this.setVisible(false);  
   
     }catch(Exception ev){
   JOptionPane.showMessageDialog(this, "Error al agregar cliente");
      }
  }else if(b==botoncancelar){
      this.setVisible(false);
  }
     }
 }
try{
 ResultSet aux = dbm.getst().executeQuery("SELECT * FROM Directorio");
 while(aux.next()){
     Object[] fila = {aux.getObject(1),aux.getObject(2),aux.getObject(3),aux.getObject(4),aux.getObject(5)};
     //Ide.add((Integer)aux.getObject(5));
     dtm.addRow(fila);
     System.out.println("Cargando Tabla");    
 }
    }catch(SQLException e){
 e.printStackTrace();
 System.out.println("No Cargo");
 } 

No hay comentarios:

Publicar un comentario