Problemas em Mudar "Status" na tela Swing

1 resposta
java
E

Boa noite,
Estou desenvolvendo um sistema de hotel e novamente preciso de uma ajudinha, sou nova em java é por esta questão que sempre estou por aqui. Tenho duas telas a hospedagem e a conta, quando seleciono uma hospedagem e clico no botão conta (que está na tela da hospedagem) abre a tela conta e com o hóspede já selecionado clico em fechar conta, até aí td bem.
Preciso que ao clicar no botão sair da tela conta (que volta para a tela hospedagem) o status da hospedagem apareça como “PAGA” e isso só está acontecendo quando clico no sair da hospedagem e abro novamente.
Como faço para que isso ocorra quando clicar no sair da tela Conta?
Alguém poderia me ajudar??
Obrigada!

`

private void btnFecharContaActionPerformed(java.awt.event.ActionEvent evt) {

ContaDAO contaDAO = new ContaDAO();

Conta conta1 = new Conta();

Calendar cal;

int d, m, a;//Variaveis para usar com calendario
if (txtCodHospedagem.getText().isEmpty() || txtNome.getText().isEmpty()) {
        JOptionPane.showMessageDialog(this, "Erro!! Por favor preencha os campos corretamente!!!");
    } else {
        //Passa o que e digitado para a tabela no banco
        conta1.setCodHospedagem(Integer.parseInt(txtCodHospedagem.getText()));
        conta1.setTipoPagamento(String.valueOf(cmbTipoPagamento.getSelectedItem())); //converte em opção selecionada em String
        
        cal = dcDataFechamento.getCalendar();
        d = cal.get(Calendar.DAY_OF_MONTH);//dia de um mes
        m = cal.get(Calendar.MONTH);//o mes
        a = cal.get(Calendar.YEAR) - 1900;//o ano com o formato correto
        conta1.setDataFechamento(new Date(a, m, d));
        
        cal = dcDataPagamento.getCalendar();
        d = cal.get(Calendar.DAY_OF_MONTH);//dia de um mes
        m = cal.get(Calendar.MONTH);//o mes
        a = cal.get(Calendar.YEAR) - 1900;//o ano com o formato correto
        conta1.setDataPagamento(new Date(a, m, d));
        
        conta1.setValorTotal(Double.parseDouble(txtValorTotal.getText()));
        conta1.setStatus(String.valueOf(cmbStatus.getSelectedItem()));
        
        
        if (contaFechada()) {
            if (verificaData(dcDataFechamento, dcDataPagamento)) {
                contaDAO.cadastrar(conta1);
                mostrar(codHospedagem);

                //Cancelar ou pagar uma hospedagem
                HospedagemDAO daoHosp = new HospedagemDAO();
                Hospedagem hosp = new Hospedagem();

                hosp.setCodHospedagem(Integer.parseInt(txtCodHospedagem.getText()));
                daoHosp.pagar(hosp);
             

                JOptionPane.showMessageDialog(this, "A Conta no valor R$  " + txtValorTotal.getText() + " do Hóspede " + txtNome.getText()
                        + " foi Paga com sucesso!!!");

            } else {
                JOptionPane.showMessageDialog(this, "Data Fechamento incorreta, verifique a Data Corretamente!");
            }
        } else {
            JOptionPane.showMessageDialog(this, "Conta jà Fechada!");
        }

                  
        dcDataFechamento.setCalendar(null);//limpa campo tipo Date calendar
        dcDataPagamento.setCalendar(null);
        
        conConta.executaSQL("SELECT c.codConta, c.codHospedagem, "
            + " c.tipoPagamento, c.dataFechamento, "
            + "  c.dataPagamento, c.valorTotal, c.status "
            + "  FROM conta c "
            + "  INNER JOIN hospedagem AS h ON h.codHospedagem = c.codHospedagem "
            + "  WHERE c.codHospedagem =  " + codHospedagem + " ORDER BY c.codConta ");
        
        try {
            modeloTabelaConta.setResult(conConta.resultset);
            ocultarColuna();
        } catch (SQLException ex) {
        }
    }

    //Volta o focus do mouse para o numero.
    txtCodHospedagem.requestFocus();

    desabilitarCampos();//Desabilita campos e abaixo os botoes
    btnFecharConta.setEnabled(false);
    btnDeletar.setEnabled(false);
    btnNovo.setEnabled(true);
    
}

`

1 Resposta

Jonas_B_a_r_r_o_s

Se você colocar conta1 = null, no final do metodo, o que acontece?

desabilitarCampos();//Desabilita campos e abaixo os botoes

btnFecharConta.setEnabled(false);

btnDeletar.setEnabled(false);

btnNovo.setEnabled(true);

conta1 = null; //<--------------------------------
Criado 4 de junho de 2016
Ultima resposta 4 de jun. de 2016
Respostas 1
Participantes 2