Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/01/2010, 14:34
Avatar de juamd
juamd
 
Fecha de Ingreso: marzo-2009
Ubicación: Bogotá
Mensajes: 285
Antigüedad: 15 años, 8 meses
Puntos: 8
Problema con ArrayList

Que tal amigos!!!

Tengo un formulario simple, y dentro de ese formulario tengo el siguiente codigo, para cuando se carga la ventana:

Código:
public void listarFormasPago()
    {
        String anno,fechaLimite;
        Calendar calendario = Calendar.getInstance();
        FormaDePago nuevaFormaPago = new FormaDePago();
        
        anno = Integer.toString(calendario.get(Calendar.YEAR));
        fechaLimite = anno+"-"+"05"+"-"+"15";

        listadoFormasPago = nuevaFormaPago.listarFormasPago(fechaLimite);

        for(i=0;i<listadoFormasPago.size();i++){
            this.comboBoxFormaPago.addItem(listadoFormasPago.get(i).getDescripcionFormaPago());
        }
        
    }
Este codigo me llena un JComboBox.

Ahora, despues de llenar unos campos que se piden y presionar el boton "Aceptar" se llama a este codigo:

Código:
private void botonAgregarActionPerformed(java.awt.event.ActionEvent evt) {                                             
        FormaDePago nuevaForma = new FormaDePago();

        nuevaForma = buscarObjetoArray();
        nuevaForma.setValor(Double.parseDouble(this.textFieldValor.getText()));

        if(this.colDescripcionFormasPago.contains(this.comboBoxFormaPago.getSelectedItem())){
            //System.out.println("Esa forma de pago ya existe");
        }else{
            //System.out.println("Esa forma de pago no existe ");
            this.colFormasPago.add(nuevaForma);
            this.colDescripcionFormasPago.add(this.comboBoxFormaPago.getSelectedItem());
        }

        
        System.out.println("Contenido del ArrayList");
        for(i=0;i<this.colFormasPago.size();i++){
                System.out.println("Descripcion :"+this.colFormasPago.get(i).getDescripcionFormaPago()+
                        " Id :"+this.colFormasPago.get(i).getIdFormaPago() + " valor :" +this.colFormasPago.get(i).getValor());

            }
        
    }
No puedo permitir dos formas de pago del mismo tipo en el Array para lo cual verifico antes de ingresar una nueva si existe. El problema que tengo es que a pesar de verificar si la forma de pago ya existe sea como se que haga la verificacion, el objeto existente siempre me toma el valor que le doy al nuevo objeto (al que no se puede agregar). Puede alguien decirme porque pasa esto ?

Gracias.