Tengo un formulario simple, y dentro de ese formulario tengo el siguiente codigo, para cuando se carga la ventana:
Código:
Este codigo me llena un JComboBox.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()); } }
Ahora, despues de llenar unos campos que se piden y presionar el boton "Aceptar" se llama a este codigo:
Código:
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 ?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()); } }
Gracias.