Bom dia! Estou com um problema para subtrair o valor de uma linha selecionada e atualizar o campo valor total. Segue o código:
public void subtracao(){
if (jTable1.getSelectedRow() >= 0) {
try {
double subt = 0;
for (int i = 0; i < jTable1.getSelectedRow(); i++) {
Double valorAux = (Double) jTable1.getValueAt(i, 3);
subt -= valorAux.doubleValue();
}
campovalort.setText(String.valueOf(subt));
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Erro ao calcular Total Produtos: " + e.getMessage());
}
}
}
Novo código, só que agora o valortotal está indo para Zero.
public void subtracao(){
try {
double subt = 0;
for (int i = 0; i < jTable1.getSelectedRow(); i++) {
Double valorAux = (Double) jTable1.getValueAt(jTable1.getSelectedRow(), 3);
subt -= valorAux.doubleValue();
}
campovalort.setText(String.valueOf(subt));
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Erro ao calcular Total Produtos: " + e.getMessage());
}
}
Sempre que postar código no fórum, use o botão </>
para formatar seu código, senão é horrível para ler.
Você quer subtrair o que do que?
@staroski
Quero subtrair o valor da linha selecionada que irei remover, do valor total.
E cadê esse valor total no código que você postou?
double valorTotal = /* sei lá como você obtém o valor total */;
double valorSelecionado = (Double) jTable1.getValueAt(jTable1.getSelectedRow(), 3);
double subtracao = valorTotal - valorSelecionado;
Cheguei ao seguinte código, porém retornando 0 ao campovalort:
public void subtracao() {
try {
double subtracao = 0;
for (int i = 0; i < jTable1.getSelectedRow(); i++) {
double valorTotal = Double.parseDouble(campovalort.getText());double
valorSelecionado = (Double) jTable1.getValueAt(jTable1.getSelectedRow(), 3);
subtracao = valorTotal - valorSelecionado;
}
campovalort.setText(String.valueOf(subtracao));
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Erro ao calcular Total Produtos: " + e.getMessage());
}
}
Não vou mais ajudar enquanto você não aprender a formatar o código no fórum. 
tudo bem, vc tem seu direito, assim como eu tenho o meu de nao saber.
Alguém disposto a ajudar?
Quando postar código, selecione o mesmo e clique no botão de Texto pré formatado, identificado pelo símbolo </>
, isso facilita muito a leitura. 
Qual a necessidade do laço abaixo?
public void subtracao() {
try {
double subtracao = 0;
for (int i = 0; i < jTable1.getSelectedRow(); i++) {
double valorTotal = Double.parseDouble(campovalort.getText());
double valorSelecionado = (Double) jTable1.getValueAt(jTable1.getSelectedRow(), 3);
subtracao = valorTotal - valorSelecionado;
}
campovalort.setText(String.valueOf(subtracao));
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Erro ao calcular Total Produtos: " + e.getMessage());
}
}
Você não quer somente subtrair o valor da linha selecionada?
public void subtracao() {
double valorTotal = Double.parseDouble(campovalort.getText());
int linhaSelecionada = jTable1.getSelectedRow();
int coluna = 3;
double valorSelecionado = (Double) jTable1.getValueAt(linhaSelecionada, coluna);
subtracao = valorTotal - valorSelecionado;
campovalort.setText(String.valueOf(subtracao));
}
Funcionou, muito obrigado pelo esclarecimento.
1 curtida