Pegue a lista de objetos que deu origem ao seu TableModel, faça a soma e jogue no label. Pouco importa o que a JTable desenhou.
Felagund
esses dados são carregados? ou o usuario pode digitar isso?
qualquer coisa com um loop vc consegue
BigDecimaltotal=BigDecimal.ZERO;for(inti=0;i<tabela.getRowCount();i++){Stringvalor=tabela.getValueAt(i,2)+"";//lembrando que 2 é o indice da coluna valor.BigDecimalvl=newBigDecimal(valor.replace(",","."));total=total.add(vl);}
Utilizo o BigDecimal por ele é mais preciso para fazer calculo com valores.
J
juninhon1
Deu certo dessa forma que você me passou.
Muito Obrigado.
J
juninhon1
Agora estou precisando de outra ajuda,
nessa mesma tabela que mostrei acima tem o seguinte:
Quero fazer uma calculo entre esses campos, com o filtro Entrada e Saida:
Quando for entrada ele soma quando for saida ele subtrai, tentei fazer o seguinte
somar tudo que for Tipo == Entrada
mas imprime no Label = 0
Segue o Codigo:
StringTipoE="Entrada"";BigDecimal total = BigDecimal.ZERO; preencherJtable(); //metodo para preencher JTable for(int i = 0; i < jTable1.getRowCount();i++){ String Tipo = jTable1.getValueAt(i, 3)+""; //pegando a coluna que quero fazer o equals while(Tipo.equals(TipoE)){ String valor = jTable1.getValueAt(i, 5)+""; //pegando a coluna que quero fazer o calculo com filtro di Tipo BigDecimal vl = new BigDecimal(valor.replace(",", ".")); total = total.add(vl); } } Label_Valor.setText(String.valueOf(total)); //Lable que imprime o resultado
mas quando eu executo esse codigo trava a minha maquina e não da erro algum…
tenho que finalizar o programa no gerenciador de Tarefas.
Alguem pode me ajudar?
J
juninhon1
Consegui Fazer o que perguntei acima:
Ficou assim:
StringTipoE="Entrada",TipoS="Saida";BigDecimaltotalSaida=BigDecimal.ZERO;BigDecimaltotalEntrada=BigDecimal.ZERO;BigDecimaltotal=BigDecimal.ZERO;preencherJtable();try{for(inti=0;i<jTable1.getRowCount();i++){StringvalorEntrada=String.valueOf(jTable1.getValueAt(i,3));if(valorEntrada.equals(TipoE)){Stringvalor=jTable1.getValueAt(i,5)+"";//lembrando que 2 é o indice da coluna valor.BigDecimalv1=newBigDecimal(valor.replace(",","."));totalEntrada=totalEntrada.add(v1);StringresEntrada=totalEntrada.toString();}}for(intx=0;x<jTable1.getRowCount();x++){StringvalorSaida=String.valueOf(jTable1.getValueAt(x,3));if(valorSaida.equals(TipoS)){Stringvalor=jTable1.getValueAt(x,5)+"";//lembrando que 2 é o indice da coluna valor.BigDecimalv2=newBigDecimal(valor.replace(",","."));totalSaida=totalSaida.add(v2);StringresSaida=totalSaida.toString();}}total=totalEntrada.subtract(totalSaida);Label_Valor.setText(String.valueOf(total));}catch(NullPointerExceptionerro){System.out.println(erro.getMessage());}