private void BotonBuscarClienteSaldoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_BotonBuscarClienteSaldoActionPerformed
        String nombreCliente = nombreClienteBusquedaSaldo.getText();
        //08-11-2014 listar clientes por nombre
        ControladorCliente controladorCliente = new ControladorCliente();
        ArrayList<Cliente> listaClientes = new ArrayList<>();

        if (nombreCliente.equals("")) {
            listaClientes = controladorCliente.obtenerClientes();
        } else {
            listaClientes = controladorCliente.obtenerClientes(nombreCliente, 0);
        }

        //08-11-2014 Crear dialogo de búsqueda
        final JDialog dialogoEditar = new JDialog(this);

        dialogoEditar.setTitle("Buscar clientes");
        dialogoEditar.setSize(300, 300);
        dialogoEditar.setResizable(false);

        JPanel panelDialogo = new JPanel();

        panelDialogo.setLayout(new GridBagLayout());

        GridBagConstraints c = new GridBagConstraints();
        c.fill = GridBagConstraints.HORIZONTAL;

        JLabel ediitarTextoPrincipalDialogo = new JLabel("Buscar cliente");
        c.gridx = 0;
        c.gridy = 0;
        c.gridwidth = 2;
        c.insets = new Insets(10, 60, 10, 10);
        Font textoGrande = new Font("Arial", 1, 16);
        ediitarTextoPrincipalDialogo.setFont(textoGrande);
        panelDialogo.add(ediitarTextoPrincipalDialogo, c);

        c.gridx = 0;
        c.gridy = 1;
        c.gridwidth = 2;
        c.insets = new Insets(10, 10, 10, 10);
        final JTable tablaDialogo = new JTable();
        DefaultTableModel modeloTabla = new DefaultTableModel() {

            @Override
            public boolean isCellEditable(int row, int column) {
                //all cells false
                return false;
            }
        };;

        modeloTabla.addColumn("Identificación");
        modeloTabla.addColumn("Nombre");

        //LLenar tabla
        for (int i = 0; i < listaClientes.size(); i++) {
            Object[] data = {"1", "2"};
            data[0] = listaClientes.get(i).getCliente_id();
            data[1] = listaClientes.get(i).getNombre();
            modeloTabla.addRow(data);
        }

        tablaDialogo.setModel(modeloTabla);
        tablaDialogo.getColumn("Identificación").setMinWidth(110);
        tablaDialogo.getColumn("Nombre").setMinWidth(110);
        tablaDialogo.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        JScrollPane scroll = new JScrollPane(tablaDialogo);
        scroll.setPreferredSize(new Dimension(220, 150));

        panelDialogo.add(scroll, c);

        c.insets = new Insets(0, 0, 0, 10);
        c.gridx = 0;
        c.gridy = 2;
        c.gridwidth = 1;
        JButton botonGuardarClienteDialogo = new JButton("Elegir");
        panelDialogo.add(botonGuardarClienteDialogo, c);

        c.gridx = 1;
        c.gridy = 2;
        c.gridwidth = 1;
        JButton botonCerrarClienteDialogo = new JButton("Cancelar");
        panelDialogo.add(botonCerrarClienteDialogo, c);

        dialogoEditar.add(panelDialogo);
        dialogoEditar.setVisible(true);

        botonCerrarClienteDialogo.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                dialogoEditar.dispose();
            }
        });

        botonGuardarClienteDialogo.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                int row = tablaDialogo.getSelectedRow();
                if (row == -1) {
                    JOptionPane.showMessageDialog(dialogoEditar, "Por favor seleccione una fila");

                } else {
                    Object identificacionCliente = tablaDialogo.getValueAt(row, 0);
                    mostrarIdentificacionCliente.setText(String.valueOf(identificacionCliente));
                    String nombreClientePago = String.valueOf(tablaDialogo.getValueAt(row, 1));

                    //Limitar a 15 caracteres
                    if (nombreClientePago.length() >= 15) {
                        nombreClientePago = nombreClientePago.substring(0, 12);

                    }
                    textoPersonaSaldo.setText(nombreClientePago);

                    DefaultTableModel modeloClientes = (DefaultTableModel) TablaDeSaldoClientes.getModel();
                    for (int i = 0; i < modeloClientes.getRowCount(); i++) {
                        modeloClientes.removeRow(i);
                    }

                    modeloClientes.setRowCount(0);
                    ControladorFlujoFactura controladorFlujoFactura = new ControladorFlujoFactura();

                    //SELECT * FROM Flujo_Factura where factura_id in (select factura_id from Factura where cliente_id = 1130614506);
                    ArrayList<String[]> flujosCliente = controladorFlujoFactura.getTodosFlujo_Factura(" where factura_id in (select factura_id from Factura where cliente_id = " + String.valueOf(identificacionCliente) + " and estado=\"fiado\") order by factura_id");
                    double pago = 0.0;

                    for (int i = 0; i < flujosCliente.size(); i++) {
                        String[] datos = flujosCliente.get(i);

                        TablaDeSaldoClientes.setModel(modeloClientes);
                        NumberFormat formatter = new DecimalFormat("#0");

                        String valorMovimiento = String.valueOf(formatter.format(Double.parseDouble(datos[4])));
                        Object[] rowData = {datos[1], datos[2], datos[3], valorMovimiento};

                        if (datos[2].equals("deuda")) {
                            pago += Double.parseDouble(datos[4]);
                        } else {
                            pago -= Double.parseDouble(datos[4]);
                        }

                        modeloClientes.addRow(rowData);
                    }

                    TablaDeSaldoClientes.setModel(modeloClientes);
                    NumberFormat formatter = new DecimalFormat("#0");
                    textoTotalDebe.setText(String.valueOf(formatter.format(pago)));
                    dialogoEditar.dispose();

                    //Mostrar en table de clientes los datos
                    botonRegistrarAbono.setEnabled(true);
                }

            }
        });
    }