1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

atualizando frame java desktop

estou com o seguinte problema tenho uma jtable q armazena valores de parcela, porem pode existir a necessidade de mudar o valor da parcela ai quando a parcela é selecionada o valor vai para um campo de texto e nele pode mudar o valor e quando clica para salvar é alterado o valor da parcela e recalculado o valor das demais, a primeira vz o processo acontece normal porem se existir a necessidade de alterar denovo ele nao recalcula a parcela, a nao ser q o frame seja fechado e aberto de novo ai acontece processo correto, eu queria saber c existe algum metodo semelhante aos dos navegadores no qual atualiza a janela. obs:eu crio meu proprio model, e as informações da tabela estao salvas no banco.

try { AbstractDAO a = new AbstractDAO() { }; FichaDAOimp fichaDAOimp = new FichaDAOimp(); if (alterar == true) {

            BigDecimal valorDaParcelaAlterado;
            BigDecimal valorTotal = fichaSelecionada.getPacientes().getValorTratamento();
            valorDaParcelaAlterado = BigDecimal.valueOf(Double.valueOf(txtValorCadaParcela.getText().replace(".",at
            BigDecimal diferenca = new BigDecimal(0);
            List<Ficha> fichas = fichaDAOimp.buscaNomes(fichaSelecionada.getPacientes());
            int naoPaga = 0;
            Double valorParcelasNaoPagas = 0.0;
            fichaSelecionada.setValorCadaParcela(valorDaParcelaAlterado);
            if (valorDaParcelaAlterado.compareTo(valorTotal) >= 0) {
                JOptionPane.showMessageDialog(this, "O valor Alterado não pode ser maior que o valor total");
            } else {
                if (valorDaParcelaAlterado.compareTo(valorAtual) >= 0) {
                    diferenca = valorTotal.subtract(valorDaParcelaAlterado);
                    for (Ficha f : fichas) {
                        if (!f.getPagou() && (f.getnParcelas() != fichaSelecionada.getnParcelas())) {
                            naoPaga += 1;
                        } else {
                            if (f.getPagou() == true) {
                                diferenca = diferenca.subtract(f.getValorCadaParcela());
                            }
                        }

                    }
                    valorParcelasNaoPagas = Double.valueOf(String.valueOf(diferenca)) / (naoPaga);
                    /*JOptionPane.showMessageDialog(this, "O valor alterado não pode ser maior "
                     * + "que o valor atual");*/
                } else {
                    diferenca = valorTotal.subtract(valorDaParcelaAlterado);
                    for (Ficha f : fichas) {
                        if (!f.getPagou() && (f.getnParcelas() != fichaSelecionada.getnParcelas())) {
                            naoPaga += 1;
                        } else {
                            if (f.getPagou() == true) {
                                diferenca = diferenca.subtract(f.getValorCadaParcela());
                            }
                        }
                    }
                    valorParcelasNaoPagas = Double.valueOf(String.valueOf(diferenca)) / (naoPaga);
                }
                for (Ficha f : fichas) { > // atualiza a tabela e salva no bnco
                    if (!f.getPagou() && (f.getnParcelas() != fichaSelecionada.getnParcelas())) {
                        f.setValorCadaParcela(new BigDecimal(valorParcelasNaoPagas).setScale(2, BigDecimal.ROUND_UP));
                        a.salvarOuAtualizar(f);                            
                        tableModel.notifyUpdated(fichaSelecionada);
                        txtValorCadaParcela.setEnabled(false);
                        btCadastrar.setEnabled(false);
                        tableModel.fireTableRowsUpdated(0, tbCadastro.getRowCount());
                        tableModel.fireTableDataChanged();
                    }
                }
            }
  • comece editando sua pergunta para mostrar seu codigo...

    Cristian Urbainski   30 de mai de 2013
  • Eu diria mais, a descrição do problema está um pouco difícil de ler, meio embolada... De qualquer forma, talvez o método Component.repaint te ajude.

    jcranky   30 de mai de 2013
  • Na verdade nao estou conseguindo expressar meu problema

    IkeSilva   30 de mai de 2013
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags java ou faça a sua própria pergunta.