public VentanaDeModificacion() throws SQLException { setTitle("Modificar Acuerdo"); getContentPane().setLayout(null); JPanel panelTemporal = new JPanel(); panelTemporal.setBorder(new TitledBorder("Datos acuerdo:")); panelTemporal.setBounds(20, 21, 488, 100); getContentPane().add(panelTemporal); panelTemporal.setLayout(null); JLabel lblFechaAcuerdo = new JLabel("Fecha de acuerdo:"); lblFechaAcuerdo.setBounds(15, 30, 130, 14); panelTemporal.add(lblFechaAcuerdo); txtFecha = new JDateChooser("yyyy-MM-dd", "####-##-##", '_'); txtFecha.setMinSelectableDate(new Date()); txtFecha.setBounds(149, 26, 95, 20); panelTemporal.add(txtFecha); JLabel lblMontoAcuerdo = new JLabel("Monto de acuerdo:"); lblMontoAcuerdo.setBounds(15, 61, 130, 14); panelTemporal.add(lblMontoAcuerdo); idDeuda = String.valueOf( MantenimientoDeAcuerdo.getTablaAcuerdo() .getValueAt(MantenimientoDeAcuerdo.getTablaAcuerdo().getSelectedRow(), 0)); txtCuotaPendiente = new JTextField(); final String monto = String.valueOf(Conexion.getInstancia().montoCuotaPendiente(idDeuda)); txtCuotaPendiente.setText(monto); txtCuotaPendiente.setEditable(false); txtCuotaPendiente.setColumns(10); txtCuotaPendiente.setBounds(368, 27, 95, 20); panelTemporal.add(txtCuotaPendiente); txtMontoAcuerdo = new JTextField(); txtMontoAcuerdo.setColumns(10); txtMontoAcuerdo.setBounds(149, 59, 95, 20); /* txtMontoAcuerdo.addKeyListener(new KeyAdapter() { public void keyReleased(KeyEvent e) { double cuotaPendiente = Double.parseDouble(monto); if(tablaAcuerdoDetalle.getRowCount() != 0) { double numeroTemporal = 0; for(int i = 0; i < tablaAcuerdoDetalle.getRowCount(); i++) { numeroTemporal = numeroTemporal + Double.parseDouble(tablaAcuerdoDetalle.getValueAt(i, 2).toString()); } cuotaPendiente = cuotaPendiente - numeroTemporal; } double restaMonto = 0; if(txtMontoAcuerdo.getText().trim().length() != 0) { double numero1 = cuotaPendiente; double numero2 = Double.parseDouble(txtMontoAcuerdo.getText()); restaMonto = numero1 - numero2; txtCuotaPendiente.setText(String.valueOf(restaMonto)); } else { txtCuotaPendiente.setText(String.valueOf(cuotaPendiente)); } } });*/ panelTemporal.add(txtMontoAcuerdo); btnModificar = new JButton("Modificar"); btnModificar.setBounds(374, 57, 89, 23); panelTemporal.add(btnModificar); JLabel lblCuotaPendiente = new JLabel("Cuota Pendiente:"); lblCuotaPendiente.setBounds(265, 30, 104, 14); panelTemporal.add(lblCuotaPendiente); btnAgregar = new JButton("Agregar"); btnAgregar.setBounds(275, 57, 89, 23); panelTemporal.add(btnAgregar); btnCancelar = new JButton("Cancelar"); btnCancelar.setBounds(541, 352, 89, 23); getContentPane().add(btnCancelar); btnGuardar = new JButton("Guardar"); btnGuardar.setBounds(442, 352, 89, 23); getContentPane().add(btnGuardar); JPanel panel = new JPanel(); panel.setBounds(20, 132, 616, 209); getContentPane().add(panel); panel.setLayout(new BorderLayout()); String[] nombreColumnas = { "ID Acuerdo", "ID Deuda", "Detalle Deuda", " Fecha Acuerdo", " Monto Acuerdo" }; modelo = new DefaultTableModel(null, nombreColumnas); tablaAcuerdoDetalle = new JTable(modelo); JScrollPane scrollPane = new JScrollPane(tablaAcuerdoDetalle); panel.add(scrollPane, BorderLayout.CENTER); tablaAcuerdoDetalle.setDefaultRenderer( Object.class, new RenderizadorTablaAcuerdoDetalle(tablaAcuerdoDetalle)); idDetalle = String.valueOf( MantenimientoDeAcuerdo.getTablaAcuerdo() .getValueAt(MantenimientoDeAcuerdo.getTablaAcuerdo().getSelectedRow(), 1)); Conexion.getInstancia().consultaAcuerdoDetalle(tablaAcuerdoDetalle, idDetalle, idDeuda, modelo); btnBorrar = new JButton("Borrar"); btnBorrar.setBounds(518, 80, 89, 23); getContentPane().add(btnBorrar); tablaAcuerdoDetalle.addMouseListener( new MouseAdapter() { public void mouseClicked(MouseEvent e) { super.mouseClicked(e); try { datosTabla(); } catch (ParseException ex) { ex.printStackTrace(); } catch (ArrayIndexOutOfBoundsException ex) { JOptionPane.showMessageDialog( VentanaDeModificacion.this, "Esta no es una fila valida, por favor intente nuevamente. ", "DENEGADO", JOptionPane.ERROR_MESSAGE); } } }); btnGuardar.addActionListener(this); btnCancelar.addActionListener(this); btnModificar.addActionListener(this); btnBorrar.addActionListener(this); btnAgregar.addActionListener(this); setSize(662, 415); setResizable(false); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); setVisible(true); setLocationRelativeTo(null); }
public void actionPerformed(ActionEvent e) { try { if (e.getSource().equals(btnModificar)) { accionAgregar(tablaAcuerdoDetalle); } if (e.getSource().equals(btnGuardar)) { actualizarDatos(tablaAcuerdoDetalle); } if (e.getSource().equals(btnBorrar)) { int respuesta = JOptionPane.showConfirmDialog( this, "Esta apunto de borrar la fecha de un pago. El siguiente dato no se podra recuperar. ¿Seguro que desea proceder?", "ATENCION", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); if (respuesta == JOptionPane.YES_OPTION) { Conexion.getInstancia() .borrarAcuerdoModificacion( String.valueOf( tablaAcuerdoDetalle.getValueAt(tablaAcuerdoDetalle.getSelectedRow(), 0))); Conexion.getInstancia() .consultaAcuerdoDetalle(tablaAcuerdoDetalle, idDetalle, idDeuda, modelo); Conexion.getInstancia().consultaAcuerdo(MantenimientoDeAcuerdo.getTablaAcuerdo()); JOptionPane.showMessageDialog( this, "¡Cuidado!, al haberse borrado una fecha de pago el Acuerdo esta Inestable. Verifique los pagos del Acuerdo.", "DESVALUACION DE ACUERDO", JOptionPane.WARNING_MESSAGE); } } if (e.getSource().equals(btnAgregar)) { if (txtMontoAcuerdo.getText().equals("")) { JOptionPane.showMessageDialog( this, "El acuerdo debe tener un monto de pago. ", "DENEGADO", JOptionPane.ERROR_MESSAGE); } else { agregarDatos(tablaAcuerdoDetalle); } } if (e.getSource().equals(btnCancelar)) { dispose(); } } catch (SQLException e1) { e1.printStackTrace(); } catch (ParseException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } }
public void actualizarDatos(JTable tabla) { double validacion = 0.0; int cantidadFilas = tabla.getRowCount(); int contador = 0; boolean boleano = true; HashSet<Date> validadorFechas = new HashSet<Date>(); try { // Validacion acuerdo while (contador != cantidadFilas) { validadorFechas.add(formatoFecha.parse(String.valueOf(tabla.getValueAt(contador, 3)))); validacion = validacion + Double.parseDouble(String.valueOf(tabla.getValueAt(contador, 4))); contador++; } if (validadorFechas.size() != cantidadFilas) { JOptionPane.showMessageDialog( this, "Hay fechas identicas, los acuerdos no pueden tener una misma fecha de pago. ", "DENEGADO", JOptionPane.ERROR_MESSAGE); boleano = false; } if (boleano == true) { int respuesta = JOptionPane.showConfirmDialog( this, "¿Está seguro que desea guardar los cambios?", "CONFIRMACION", JOptionPane.YES_NO_OPTION); if (respuesta == JOptionPane.YES_OPTION) { if (Conexion.getInstancia().datosAcuerdo(idDeuda, validacion, tabla, false) == true) { JOptionPane.showMessageDialog( this, "Se ha modificado el acuerdo correctamente.", "COMPLETADO", JOptionPane.INFORMATION_MESSAGE); Conexion.getInstancia().consultaAcuerdo(MantenimientoDeAcuerdo.getTablaAcuerdo()); dispose(); } else { validacion = 0; } } } } catch (SQLException e1) { e1.printStackTrace(); } catch (ParseException e) { e.printStackTrace(); } }
public void accionAgregar(JTable tabla) throws ParseException, SQLException { if (tabla.getSelectedRow() >= 0) { Date fechaDia = formatoFecha.parse(Conexion.getInstancia().obtenerFechaDia()); if (txtFecha.getDate().before(fechaDia)) { JOptionPane.showMessageDialog( this, "La fecha no puede ser anterior al día de hoy.", "DENEGADO", JOptionPane.ERROR_MESSAGE); } else { String monto = txtMontoAcuerdo.getText(); date = formatoFecha.format(txtFecha.getDate()); tabla.setValueAt(monto, tabla.getSelectedRow(), 4); tabla.setValueAt(date, tabla.getSelectedRow(), 3); } } else { JOptionPane.showMessageDialog( this, "Es necesario seleccionar un campo.", "DENEGADO", JOptionPane.ERROR_MESSAGE); } }
public void agregarDatos(JTable tabla) throws SQLException, ParseException { if (txtFecha.getDate() == null) { JOptionPane.showMessageDialog( this, "El acuerdo debe tener una fecha de pago. ", "DENEGADO", JOptionPane.ERROR_MESSAGE); } else { String datos[] = new String[5]; datos[0] = Conexion.getInstancia().obtenerIdAcuerdo(contadorGeneral); contadorGeneral++; datos[1] = String.valueOf(tablaAcuerdoDetalle.getValueAt(0, 1)); datos[2] = String.valueOf(tablaAcuerdoDetalle.getValueAt(0, 2)); datos[3] = String.valueOf(formatoFecha.format(txtFecha.getDate())); datos[4] = txtMontoAcuerdo.getText(); modelo.addRow(datos); /*if(txtFecha.getDate().before(formatoFecha.parse(Conexion.getInstancia().obtenerFechaDia()))) { JOptionPane.showMessageDialog(this, "La fecha no puede ser anterior al día de hoy. ","DENEGADO" ,JOptionPane.ERROR_MESSAGE); modelo.removeRow(tabla.getRowCount() - 1); }*/ } }