Soma no JTable JAVA

Senhores estou com um problema na soma dos valores da coluna da minha tabela.
Segue o código:

          try{ 
              Double soma = null;
  for (int i = 0 ; i < jTable1.getColumnCount() ; i++) {
  Double valorAux =(Double) jTable1.getValueAt(i,3);
      soma += valorAux.doubleValue(); 
  } 
   campovalort.setText(String.valueOf(soma));
     }
 catch(Exception e){ JOptionPane.showMessageDialog(null,"Erro ao calcular Total Produtos: "+e.getMessage()); 
} 

Está sempre retornando nulo.

Faz sentido somar null com um valor double?

Desculpe o novato aqui.

alguem ajuda na solução?

Incremento por colunas, não seria pelas linhas?

Utilize: jTable1.getRowCount()

Eu quero a coluna mesmo, quero pegar os dados todos de uma coluna e aplicar em um textfield, no caso o campovalort. A questão é que está retornando nulo, não a soma certa. Não estou conseguindo encontrar o erro.

Se tu quer pegar os dados de uma coluna pra quê percorrer todas as colunas?

Reveja seu pensamento e código que você vai perceber o ponto falho, você está percorrendo todas as colunas e tentando recuperar de cada coluna valores como se fossem da linha.

jTable1.getValueAt(indicadorDeLinha, indicadorDeColuna); //Como funciona.
Double valorAux =(Double) jTable1.getValueAt(i,3); //Como você está fazendo.

Muito obrigado, amanhã quando retornar ao trabalho eu tento, por favor deixa aberto o tópico, obrigado pela atenção.

Cara, troca isso aqui:

Double soma = null;

Por isso aqui:

double soma = 0;

Está ciente da diferença entre Double e double?

Estou não amigo, sou estudante ainda

O tipo de dado Double é classe, onde você consegue por exemplo trabalhar conversões do valor, por ser uma classe ao declarar um atributo desta tipagem o mesmo possuí o valor inicial NULL.
O tipo de dado double é primitivo, onde você consegue somente manipular valores, por ser primitivo ao declarar um atributo desta tipagem o mesmo possuí o valor inicial ZERO.

Exemplo:

Double v1 = new Double(10.0); //Necessita de instância
double v2 = 10.0; //Não necessita de instância
1 curtida

E só uma observação sobre este ótimo comentário, o único tipo de dado que usamos apenas com a inicial maiúscula eh o String, e não precisa necessariamente de instância.
string não é usado, apenas String.

Como assim só String tem ltra maiúscula?
E as as wrapper classes (Byte, Boolean, Short, Character, Integer, Float, Long e Double)?
Além do mais classes em geral tem o nome iniciado com letra maiúscula pois é uma convenção.

Como assim não precisa de instância?
Se não tem instância, então é null, o que você faz com null?

Nao meu caro kkk eu disse que String eh a unica que usamos apenas com inicial maiúscula. Em outros tipos de dados geralmente tem as duas opções, tanto com inicial maiúscula e minúscula (como o Double e double, citados acima). Mas String com a inicial minúscula (string) nunca vi sendo usada.

Com isso eu quis dizer para se criar uma variável String não precisa necessariamente de por new String();, mas pode-se criar uma variável diretamente:

String nome;

No caso do Double por exemplo, usaria a instância, porque Double é uma classe, mas no double não, conforme o Jonathan_Medeiros disse:

Double v1 = new Double(10.0); //Necessita de instância
double v2 = 10.0; //Não necessita de instância

Resolvido, o código ficou:

    try {
        double soma = 0;
        for (int i = 0; i < jTable1.getRowCount(); i++) {
            Double valorAux = (Double) jTable1.getValueAt(i, 3);
            soma += valorAux.doubleValue();
        }
        campovalort.setText(String.valueOf(soma));
    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, "Erro ao calcular Total Produtos: " + e.getMessage());
    }
}