Você está na página 1de 3

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?
This message was edited 2 times. Last update was at 01/02/2010 00:10:59

01/02/2010 08:02:07

Assunto: Re:JTable Calculo

ViniGodoy
Moderador

Pegue a lista de objetos que deu origem ao seu TableModel, faa a soma e jogue no label. Pouco importa o que a JTable desenhou.
@ViniGodoy - Lattes Tem dvidas de Java? Poste no frum! No respondo dvidas de java via MP!

Membro desde: 11/12/2006 08:22:01 Mensagens: 20325 Localizao: Curitiba/PR Offline

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov Facebook Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro). Ei... voc est usando DefaultTableModel no seu projeto?? No faa isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295

01/02/2010 08:04:14

Assunto: Re:JTable Calculo

Felagund
GUJ Master

esses dados so carregados? ou o usuario pode digitar isso? qualquer coisa com um loop vc consegue
view plain copy to clipboard print ?

1. 2. 3.
Membro desde: 26/07/2006 11:51:36 Mensagens: 1732 Localizao: Santa e Bela Catarina Offline

4. 5.

BigDecimal total = BigDecimal.ZERO; or(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.
att Rafael Felix Rolling With Code Twitter

01/02/2010 20:41:02

Assunto: Re:JTable Calculo

juninhon1
Entusiasta Java Membro desde: 31/12/2008 13:13:20 Mensagens: 21

Deu certo dessa forma que voc me passou. Muito Obrigado.

Offline

This message was edited 4 times. Last update was at 01/02/2010 20:52:00

01/02/2010 21:50:33

Assunto: Re:JTable Calculo

juninhon1
Entusiasta Java Membro desde: 31/12/2008 13:13:20 Mensagens: 21 Offline

Agora estou precisando de outra ajuda, nessa mesma tabela que mostrei acima tem o seguinte:
view plain copy to clipboard print ?

1. 2. 3.

Codigo | Valor | 1 2

Tipo

Data 01.01.2010

| 35,

Entrada

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:
view plain copy to clipboard print ?

1. 2. 3. 4. 5. 6. 7. 8. 9.

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

10. 11. 12. 13. 14. 15.

mas quando eu executo esse codigo trava a minha maquina e no da erro algum... tenho que finalizar o programa no gerenciador de Tarefas. Alguem pode me ajudar?

01/02/2010 23:18:01

Assunto: Re:JTable Calculo

juninhon1
Entusiasta Java Membro desde: 31/12/2008 13:13:20 Mensagens: 21 Offline

Consegui Fazer o que perguntei acima: Ficou assim:

view plain

copy to clipboard

print

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34.

String TipoE = "Entrada", TipoS = "Saida"; BigDecimal BigDecimal.ZERO; BigDecimal BigDecimal.ZERO; BigDecimal totalSaida = totalEntrada = 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()); }

35. 36.

Você também pode gostar