O método getValueAt recebe a linha e depois a coluna. O seu for está repetindo de acordo com o número de colunas do seu model, então se o model tem mais colunas do que linhas a exceção é lançada. Faça com que a iteração aconteça de acordo com o número de linhas.
for (int i=0; i<jTable1.getRowCount(); i++) //Pegue o número de linhas da tabela.
{
float valor = Float.parseFloat( String.valueOf( modelo.getValueAt(i,4) ) );
soma = valor;
}
Dica: Quando for utilizar números reais, utilize double ao invés de float. E procure implementar seu próprio TableModel para trabalhar com suas tabelas.
Melhor ainda é parar de usar o DefaultTableModel imediatamente. Esse é o caminho errado para se lidar com JTable. Aliás, para usar os recursos mais poderosos, é fundamental que você entenda exatamente como um TableModel personalizado funciona.
Siga os links da minha assinatura e aprenda a fazer seu próprio TableModel, filho de AbstractTableModel. Não pense que isso é tempo perdido, cada segundo gasto será rapidamente recuperado.
[quote=Eric Yuzo]O método getValueAt recebe a linha e depois a coluna. O seu for está repetindo de acordo com o número de colunas do seu model, então se o model tem mais colunas do que linhas a exceção é lançada. Faça com que a iteração aconteça de acordo com o número de linhas.
for (int i=0; i<jTable1.getRowCount(); i++) //Pegue o número de linhas da tabela.
{
float valor = Float.parseFloat( String.valueOf( modelo.getValueAt(i,4) ) );
soma = valor;
}
Dica: Quando for utilizar números reais, utilize double ao invés de float. E procure implementar seu próprio TableModel para trabalhar com suas tabelas.[/quote]
Valew eric!!!
o erro parou!!!
Agora eu to com outra dificuldade… O textField esta setando apenas um valor da tablela ( não esta somando…)