Atualizar o Jtable

9 respostas
jallisson_jallis

como atualizar os itens no Jtable, pois no meu está repetindo o item.

neste exemplo abaixo era para o leite está com quantro pois foi a ultima quantia digitada.

[img]http://3.bp.blogspot.com/-mtKvXNKy02U/UZ1Env2JVyI/AAAAAAAACvA/rT5CMDRmUgQ/s1600/Sem+t%C3%ADtulo.jpg[/img]

esse código abaixo que estou usando para inserir dados no Jtable.

private void atualizaTabela() {
        int numeroLinhas = tblItensVenda.getRowCount();
        for (int i = 0; i < numeroLinhas; i++) {
            tableModel.removeRow(0);
        }

       Double valorTotal = 0.0;
        for (int i = 0; i < itensVenda.size(); i++) {
            tableModel.insertRow(i, new Object[]{
            itensVenda.get(i).getProduto().getId(),
            itensVenda.get(i).getProduto().getNome(),
            itensVenda.get(i).getQtde(),
            itensVenda.get(i).getProduto().getValor(),
            itensVenda.get(i).getProduto().getValor(),
            itensVenda.get(i).getProduto().getValor() * itensVenda.get(i).getQtde()
            });
            valorTotal += itensVenda.get(i).getProduto().getValor() * itensVenda.get(i).getQtde();
      
        }
        ftfValorTotal.setValue(valorTotal);
    }

Alguém tem essa solução ?

9 Respostas

painhoo2
jallisson jallis:
como acumular os itens no Jtable, pois no meu está repetindo o item.

esse código abaixo que estou usando para inserir dados no Jtable.

private void atualizaTabela() {
        int numeroLinhas = tblItensVenda.getRowCount();
        for (int i = 0; i < numeroLinhas; i++) {
            tableModel.removeRow(0);
        }

       Double valorTotal = 0.0;
        for (int i = 0; i < itensVenda.size(); i++) {
            tableModel.insertRow(i, new Object[]{
            itensVenda.get(i).getProduto().getId(),
            itensVenda.get(i).getProduto().getNome(),
            itensVenda.get(i).getQtde(),
            itensVenda.get(i).getProduto().getValor(),
            itensVenda.get(i).getProduto().getValor(),
            itensVenda.get(i).getProduto().getValor() * itensVenda.get(i).getQtde()
            });
            valorTotal += itensVenda.get(i).getProduto().getValor() * itensVenda.get(i).getQtde();
      
        }
        ftfValorTotal.setValue(valorTotal);
    }

Alguém tem essa solução ?

vendo seu código, eu também estou desenvolvendo um sistema parecido com esse. mais o diferencial do seu cod do meu é que eu uso tableModel.addRow (Object []{item, item, item});

ai fiquei com 1 dúvida agora...
insertRow e addRow... fazem a mesma coisa?

jallisson_jallis

Não sei se é a mesma coisa, Mais na verdade eu errei no inicio do topico, na verdade eu queria era que o Jtable atualiza-se conforme eu for digitar exemplo:

se no Jtable o leite tem a quantidade 6 e eu inserir a quantidade 5 no leite ele substituiu o 6 pelo 5 e assim sucessivamente para os demais itens inseridos.

jallisson_jallis

Esse sistema é de um curso da T2TI

painhoo2

creio eu que nesse caso você pode usar o evnto focuslost
inserir na linha y na coluna x
entendeu?
usando o focusLost você irá conseguir… podes crê

falando em cursos.
eu tenho o do neri dvd completo java se! ;D

o bom é desenvolver diferente. aprender e ja botar em prática em outro projeto, se fizer a mesma coisa que lhe ensinam no curso, u penso que não sai do lugar! ;D

jallisson_jallis

Vou testar esse evento focuslost.

jallisson_jallis

como usar o focuslost

painhoo2

se caso isso seja uma pergunta…
você usára o focuslost como evento…
para quando acontecer o evento o jtable se preencha…

assim, sempre que digitar algo no seu jtextfield ou outro componente e sair de dentro dele(perder o foco), ele irá adicionar um novo valor no jtable.

jallisson_jallis

é isso mesmo que eu quero mais não sei como implementar o uso do focuslost.

painhoo2

eu programo ainda usando o netbeans…
mais creio eu que esse código abaixo irá servir para você também…

private void SeuJTextFieldFocusLost(java.awt.event.FocusEvent evt) {                                        
        atualizaTabela();
    }

Onde tem “SeuJTextField” insira o nome do jtextfield…
no seu caso…
você irá que criar vários eventos para cada jtextfield ououtro componet que você esteja usando…
Se isso não resolver poste mais do seu codigo para que alguem possa lhe ajudar!
ou até mesmo eu!

Criado 22 de maio de 2013
Ultima resposta 24 de mai. de 2013
Respostas 9
Participantes 2