Lags
Dezembro 11, 2009, 5:25pm
#1
Olá Pessoal,
Eu possuí uma tabela que adiciona |código produto|descrição|Preço|quantidade|ValorTotal| de acordo com os produto que o cliente deseja comprar, porém estou querendo que ele some a coluna valorTotal, setar valor dessa soma JTxtValorTotalDosProdutos. Só que estou com dificuldade em fazer isso.
Desde já agradeço pela atenção de todos.
tu pode fazer um for que percorre a tabela somando a coluna desejada…
double count=0;
for (int i=0; i<=table.getRowCount()-1;i++) {
count+=Double.parseDouble(table.getValueAt(i, 4).toString());
}
2 curtidas
Ué, é só fazer seu tablemodel retornar a soma.
Posta aí seu TableModel.
[quote=ViniGodoy]Ué, é só fazer seu tablemodel retornar a soma.
Posta aí seu TableModel.[/quote]
é… ou isso…
Lags
Dezembro 12, 2009, 4:42pm
#5
Vini eu até consegui implementar, porém onde colocar para executar que não sei.
Segue o código:
[code]private void calculaTotalProdutos()
{
Double soma =0.0;
for (int i = 0 ; i < jtProdutos.getColumnCount() ; i++)
{
if (jtProdutos.getValueAt(i, 0).equals(true))
{
Double valorAux =(Double) jtProdutos.getValueAt(i, 5 );
soma+= valorAux.doubleValue();
}
JTxtValorTotalProdutos.setText(String.valueOf(soma));
//valorTotal = 0;
}
}
[/code]
Lags
Dezembro 14, 2009, 2:38pm
#6
Alguém pode-me ajudar resolver este problema?
Você pode criar um botão “Calcular total” e colocar esse código no ActionListener do botão.
Lags
Dezembro 14, 2009, 5:06pm
#8
Vini dê uma olhada para mim nesse código ele não esta fazendo nenhuma ação no botão, sabe oque está errado:
[code]private void calculaTotalProdutos()
{
//adiciona listenr para o botao
JBtnCalculartotalVenda.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ev){
for (int i = 0 ; i < jtProdutos.getColumnCount() ; i++)
{
if (jtProdutos.getValueAt(i, 0).equals(true))
{
Double valorAux =(Double) jtProdutos.getValueAt(i, 5 );
soma+= valorAux.doubleValue();
}
JTxtValorTotalProdutos.setText(String.valueOf(soma));
}
}
});
[/code]
Lags
Dezembro 14, 2009, 5:08pm
#9
No botão só chamei o método.
Já tentou colocar um breakpoint aí?
Lags
Dezembro 14, 2009, 5:33pm
#11
Botei Breakpoint, ele só consegue entrar onde adicionei ActionListener no botão e não entra no método actionPerformed.
Lags
Dezembro 14, 2009, 5:41pm
#12
Alguém pode-me dar uma ideia melhor aqui?
Lags
Dezembro 14, 2009, 8:42pm
#13
Galera ajuda aí estou precisando muito.
Mas vc tentou colocar o breakpoint dentro do actionlistener, no for, e clicar no botão?
Pq seu código parece certo.
Lags
Dezembro 15, 2009, 1:36am
#15
Vini fiz isso, só que dá erro na linha que esta em negrito no final do código.
private void calculaTotalProdutos() {
try{
for (int i = 0 ; i < jtProdutos.getColumnCount() ; i++) {
Double valorAux =(Double) jtProdutos.getValueAt(i,5);
soma+= valorAux.doubleValue();
}
JTxtValorTotalProdutos.setText(String.valueOf(soma));
}
catch(Exception e){ JOptionPane.showMessageDialog(null,"Erro ao calcular Total Produtos: "+e.getMessage());
}
}
Dá erro neste linha corta a execução e cai no catch e retorna a mensagem 5>=5
Double valorAux =(Double) jtProdutos.getValueAt(i,5);
No seu for, não deveria ser getRowCount() no lugar de getColumnCount()? Você vai somar os dados das linhas, não das colunas.
Lags
Dezembro 15, 2009, 9:05am
#17
Bom dia Vini,
Eu tentei com RowCount, dá mesmo erro quando chega nessa linha.
Double valorAux =(Double) jtProdutos.getValueAt(i, 5);
Quando cai no catch retorna uma mensagem 5>=5.
Sabe o que pode ser?
Provavelmente sua tabela tem 5 colunas. Então, o índice da quinta coluna será 4, não 5. Lembre-se a primeira coluna tem índice 0.
Lags
Dezembro 15, 2009, 9:42am
#19
Pessoal me ajudem aqui, estou precisando muito.
Lags
Dezembro 15, 2009, 10:39am
#20
Vini funcionou sim, era indice a mais.
Outra coisa eu vi um postagem que vc falou sobre evento actionTableModel, para o que serve?