Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/12/2014, 19:37
Avatar de freddy31DA
freddy31DA
 
Fecha de Ingreso: junio-2012
Mensajes: 84
Antigüedad: 11 años, 10 meses
Puntos: 2
Busqueda Un boton Me eliminan mas de un registro

Buenas comunidad de forosdelweb.
Estoy trando de eliminar un objeto o dato de un arrayList.
interfaza.arreglo.remove(posicion);

Tengo 3 paquetes: Modelo, Vista Controlador.
En vista tengo el JFrame de proveedores, en controlador manipula la interfaz eventos, etc..
cuando se muestra la interfaz tiene un boton eliminar y una tabla con todos los proveedores y otras cosas como los campos para meter datos.
Obtengo la posicón del elemento que quiero eliminar con el metodo
selectedRow:
Tengo un botn en la interfaz que cuando lo presiono me ejecuta el metodo eliminar

tablaProveedores.getSelectedRow();
Código Java:
Ver original
  1. public void eliminarProveedor(){
  2.             int posicion = gui_proveedor.tablaProveedores.getSelectedRow();
  3.             //eliminamos del arreglo gui_proveedor.ArrayProveedores:
  4.             gui_proveedor.ArrayProveedores.remove(posicion); //Lo elimina
  5.            
  6.             grabarEnArchivoProveedores(); //Este recorre todo el arreglo y lo llena al aarchivo:
  7.            
  8.             //Actualizamos la tabla:
  9.             gui_proveedor.tablaProveedores.updateUI();
  10.         JOptionPane.showMessageDialog(this, "Elimando correctamente");
  11.            
  12.           }

Este es El metodo que recorre el arreglo y es este y a la vez vuelve a lllenar el archivo y el arreglo ArrayProveedores

Código Java:
Ver original
  1. public void grabarEnArchivoProveedores(){
  2.      String rutaArchivo = System.getProperty("user.dir");
  3.         rutaArchivo =rutaArchivo+"\\Proveedores.txt";
  4.         PrintWriter fichero = null;
  5.         try{
  6.                 fichero = new PrintWriter(rutaArchivo);
  7.                for (int i = 0; i <gui_proveedor.ArrayProveedores.size(); i++) {
  8.                      fichero.println(
  9.                                     gui_proveedor.ArrayProveedores.get(i).getCodigo()+", "+
  10.                                     gui_proveedor.ArrayProveedores.get(i).getNrRuc()+", "+
  11.                                     gui_proveedor.ArrayProveedores.get(i).getNombre()+", "+
  12.                                     gui_proveedor.ArrayProveedores.get(i).getDireccion()+", "+
  13.                                     gui_proveedor.ArrayProveedores.get(i).getTelefono()+", "+
  14.                                     gui_proveedor.ArrayProveedores.get(i).getPaginaWeb()+", "+
  15.                                     gui_proveedor.ArrayProveedores.get(i).getCorreo()+", "+
  16.                                     gui_proveedor.ArrayProveedores.get(i).getDepartamento()+", "+
  17.                                     gui_proveedor.ArrayProveedores.get(i).getProvincia()+", "+
  18.                                     gui_proveedor.ArrayProveedores.get(i).getDistrito()+", "+
  19.                                     gui_proveedor.ArrayProveedores.get(i).getProve_Respresentante()+", "+
  20.                                     gui_proveedor.ArrayProveedores.get(i).getProveRepre_Telefono());
  21.                                        
  22.             }
  23.                
  24.                 fichero.flush();
  25.                 fichero.close();
  26.                
  27.         }catch(FileNotFoundException e){
  28.             System.out.println("Archivo no encontrado");
  29.         }finally{
  30.             if(fichero!=null){
  31.             fichero.close();
  32.             }
  33.         }
  34.     }

Lo extraño de mi caso es de que cuando presiono el boton, la operación llega hasta el método que elimina me muestra el mensaje y se repite varias veces el mensaje de confirmación y me elimina mas de un registro y luego me manda una exepción de que el arreglo está fuera de limites.
¿Habrá alguna forma de detener el proceso de un evento la verdad estoy desesperado . e intentado quitanto el mensaje pero al final siempre se me iliminan mas de un registro
__________________
Creo en Internet.
Amén.

Última edición por freddy31DA; 02/12/2014 a las 19:42 Razón: mejor vista