Alguem pode me ajudar, pois no meu sistema eu tenho varios dados em um JTable,
mas preciso fazer um calculo em uma coluna,
por ex:
Codigo |     Data      |  Valor
1       01.02.2010    35,00
2       01.02.2010    50,00
Preciso somar a ultima coluna e jogar o resultado em um Label (Valor = 85,00)
Alguem pode me ajudar?
         
        
          
        
           
           
           
         
         
            
            
          
       
      
        
        
          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.
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          esses dados são carregados? ou o usuario pode digitar isso?
qualquer coisa com um loop vc consegue
 BigDecimal  total = BigDecimal.ZERO;
for(int i = 0; i < tabela.getRowCount();i++){
 String valor = tabela.getValueAt(i, 2)+""; //lembrando que 2 é o indice da coluna valor.
 BigDecimal vl = new BigDecimal(valor.replace(",", "."));
 total = total.add(vl);
}
Utilizo o BigDecimal por ele é mais preciso para fazer calculo com valores.
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          Deu certo dessa forma que você me passou.
Muito Obrigado.
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          Agora estou precisando de outra ajuda,
nessa mesma tabela que mostrei acima tem o seguinte:
Codigo |    Tipo    |      Data      |   Valor  |
    1        Entrada    01.01.2010      35,00
    2         Saida      01.01.2010      20,00
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:
String TipoE = "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?
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          Consegui Fazer o que perguntei acima:
Ficou assim:
String TipoE = "Entrada", TipoS = "Saida";
        BigDecimal  totalSaida = BigDecimal.ZERO;
        BigDecimal  totalEntrada = BigDecimal.ZERO;
        BigDecimal  total = BigDecimal.ZERO;
        preencherJtable();
        try{
            for(int i = 0; i < jTable1.getRowCount();i++){
                   String valorEntrada = String.valueOf(jTable1.getValueAt(i,3));
                 if(valorEntrada.equals(TipoE)){
                   String valor = jTable1.getValueAt(i, 5)+""; //lembrando que 2 é o indice da coluna valor.
                   BigDecimal v1 = new BigDecimal(valor.replace(",", "."));
                   totalEntrada = totalEntrada.add(v1);
                   String resEntrada = totalEntrada.toString();
                 }
               
          }
            for(int x = 0; x < jTable1.getRowCount();x++){
                   String valorSaida = String.valueOf(jTable1.getValueAt(x,3));
                 if(valorSaida.equals(TipoS)){
                   String valor = jTable1.getValueAt(x, 5)+""; //lembrando que 2 é o indice da coluna valor.
                   BigDecimal v2 = new BigDecimal(valor.replace(",", "."));
                   totalSaida = totalSaida.add(v2);
                   String resSaida = totalSaida.toString();
                 }
          }
         total = totalEntrada.subtract(totalSaida);
        Label_Valor.setText(String.valueOf(total));
        
        }
        catch (NullPointerException erro){
            System.out.println(erro.getMessage());
        }