private void masterTableMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_masterTableMouseReleased
    txtNomeDoCliente.setBackground(Color.lightGray);
    try {
        ContasRDAO daos = new ContasRDAO(); // estou instanciando a conexão
        ContasR cliente = new ContasR();
        ClientesDAO dao = new ClientesDAO(); // estou instanciando a conexão
        Cliente aluno = new Cliente();
        TurmasDAO daoss = new TurmasDAO(); // estou instanciando a conexão
        Turmas turmas = new Turmas();
        ProfessorDAO daosss = new ProfessorDAO(); // estou instanciando a conexão
        Professor professor = new Professor();
        ContratoDAO daoc = new ContratoDAO(); // estou instanciando a conexão
        Contrato contract = new Contrato();

        int linha = masterTable.getSelectedRow();
        //codigoFornecedor = masterTable.getValueAt(linha, 8).hashCode();
        txtCodigo.setText(masterTable.getValueAt(linha, 8).hashCode() + "");
        apagar = nome.length();//Devolve o número de caracteres do objeto Stringbuffer apagar
        nome.delete(0, apagar);
        nome.append(txtCodigo.getText());
        cliente = daos.carregarContasContratoPeloCodigo(nome);
        txtCodigoCliente.setText("" + cliente.getCodigo_cliente());
        txtCodigoLocalidade.setText("" + cliente.getLocalidade());
        txtCodigoTurma.setText("" + cliente.getCodigo_turma());
        txtParcela.setText("" + cliente.getParcela());
        txtDataEmQueFoiFeitoPagamento.setText("" + cliente.getData_emissao());
        txtDataEmQueFoiFeitoPagamento.setText(txtDataEmQueFoiFeitoPagamento.getText().replace("-", "/"));
        txtDataPagamento.setText("" + cliente.getData_pagamento());
        txtDataPagamento.setText(txtDataPagamento.getText().replace("/1/", "/01/"));
        if (cliente.getTotal() == 0 || cliente.getTotal() <= 0.0) {
            jCBPago.setSelected(false);
        } else {
            jCBPago.setSelected(true);
        }


        String Desconto = new DecimalFormat("0.00").format((cliente.getDesconto()));
        Desconto = Desconto.replace(".", "");
        Desconto = Desconto.replace(",", "");
        txtDesconto.setText(Desconto);


        String valorParcela = "" + cliente.getValor();
        //valorParcela = valorParcela.replace(".", "0");
        valorParcela = valorParcela.replace(",", ".");
        txtValorDaParcela.setText(valorParcela);

        apagar = nome.length();//Devolve o número de caracteres do objeto Stringbuffer apagar
        nome.delete(0, apagar);
        nome.append(txtCodigoCliente.getText());
        apagar = nomes.length();//Devolve o número de caracteres do objeto Stringbuffer apagar
        nomes.delete(0, apagar);
        nomes.append(txtCodigoLocalidade.getText());
        aluno = dao.carregarClientePeloCodigo(nome, nomes);
        apagar = nome.length();//Devolve o número de caracteres do objeto Stringbuffer apagar
        nome.delete(0, apagar);
        nome.append(txtCodigoTurma.getText());
        turmas = daoss.carregarTurmaPeloCodigo(nome);

        if (!txtCodigoCliente.getText().equals("")) {
            txtNomeDoCliente.setText(aluno.getNome());
            txtCodigoLocalidade.setText(aluno.getLocalidade() + "");
            txtCPF.setText(aluno.getCpf());
            txtTelefone.setText(aluno.getTelefone());
            txtCelular.setText(aluno.getCelular());
            txtCodigoLocalidade.setText("" + aluno.getLocalidade());
        }

        if (txtNomeDoCliente.getText().equals("nulo")) {
            int codigoContrato = masterTable.getValueAt(linha, 1).hashCode();
            contract = daoc.carregarContratoPeloCodigo("" + codigoContrato);
            txtCodigoCliente.setText("" + contract.getCodigo_aluno());
            txtCodigoLocalidade.setText("" + contract.getLocalidade());

            apagar = nome.length();//Devolve o número de caracteres do objeto Stringbuffer apagar
            nome.delete(0, apagar);
            nome.append(txtCodigoCliente.getText());
            apagar = nomes.length();//Devolve o número de caracteres do objeto Stringbuffer apagar
            nomes.delete(0, apagar);
            nomes.append(txtCodigoLocalidade.getText());
            aluno = dao.carregarClientePeloCodigo(nome, nomes);
            txtNomeDoCliente.setText(aluno.getNome());
            txtCodigoLocalidade.setText(aluno.getLocalidade() + "");
            if (aluno.getLocalidade() == 0) {
                txtCodigoLocalidade.setText("" + masterTable.getValueAt(linha, 9).hashCode());
                txtCodigoLocalidade.setEditable(true);
            }
            txtCPF.setText(aluno.getCpf());
            txtTelefone.setText(aluno.getTelefone());
            txtCelular.setText(aluno.getCelular());


            if (!txtNomeDoCliente.getText().equals("nulo")) {
                cliente.setCodigo_cliente(Integer.parseInt(txtCodigoCliente.getText()));
                cliente.setLocalidade(Integer.parseInt(txtCodigoLocalidade.getText()));
                cliente.setCodigo_contrato(codigoContrato);
                daos.atualizaDadosCliente(cliente);
            } else {

                txtNomeDoCliente.setBackground(Color.red);
                jBAlunos.setEnabled(true);

                apagar = nome.length();//Devolve o número de caracteres do objeto Stringbuffer apagar
                nome.delete(0, apagar);
                nome.append(txtCodigoCliente.getText());
                apagar = nomes.length();//Devolve o número de caracteres do objeto Stringbuffer apagar
                nomes.delete(0, apagar);
                nomes.append(txtCodigoLocalidade.getText());
                aluno = dao.carregarClienteInativoPeloCodigo(nome, nomes);
                txtNomeDoCliente.setText(aluno.getNome());
                txtCodigoLocalidade.setText(aluno.getLocalidade() + "");
                if (aluno.getLocalidade() == 0) {
                    txtCodigoLocalidade.setText("" + masterTable.getValueAt(linha, 9).hashCode());
                    txtCodigoLocalidade.setEditable(true);
                }
                txtCPF.setText(aluno.getCpf());
                txtTelefone.setText(aluno.getTelefone());
                txtCelular.setText(aluno.getCelular());

                if (!txtNomeDoCliente.getText().equals("nulo")) {
                    cliente.setCodigo_cliente(Integer.parseInt(txtCodigoCliente.getText()));
                    cliente.setLocalidade(Integer.parseInt(txtCodigoLocalidade.getText()));
                    cliente.setCodigo_contrato(codigoContrato);
                    daos.atualizaDadosCliente(cliente);
                }

            }
        }


        //txtCodigoTurma.setText("" + cliente.getCodigo_turma());
        if (!txtCodigoTurma.getText().equals("")) {
            txtDiaTurma.setText("" + turmas.getDia());
            txtHI.setText("" + turmas.getHi());
            txtHF.setText("" + turmas.getHf());
            txtNomeDoCurso.setText("" + turmas.getCurso());
            //String Responsavel = "" + turmas.getFuncionario();

            apagar = nome.length();//Devolve o número de caracteres do objeto Stringbuffer apagar
            nome.delete(0, apagar);
            nome.append(turmas.getFuncionario());
            professor = daosss.carregarProfessorPeloCodigo(nome);
            txtResponsavel.setText(professor.getNome());
        }
        cliente = null;//Liberar objetos obsoletos logo após o uso atribuindo null.
        aluno = null;
        professor = null;
        turmas = null;
        dao.desconectar();
        daos.desconectar();
        daoss.desconectar();
        daosss.desconectar();
        daoc.desconectar();
    } catch (Exception b) {
        JOptionPane.showMessageDialog(null, b);
    }
    if (txtDataEmQueFoiFeitoPagamento.getText().equals("0000/00/00")) {
        txtDataEmQueFoiFeitoPagamento.setBackground(Color.red);
    } else {
        txtDataEmQueFoiFeitoPagamento.setBackground(Color.white);
    }
}