Subtração na Jtable

10 respostas
L

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());
    }
            }
}

10 Respostas

L

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());
    }
            
}
staroski

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?

L

@staroski
Quero subtrair o valor da linha selecionada que irei remover, do valor total.

staroski

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;
L

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());
    }
}
staroski

Não vou mais ajudar enquanto você não aprender a formatar o código no fórum. :wink:

L

tudo bem, vc tem seu direito, assim como eu tenho o meu de nao saber.

L

Alguém disposto a ajudar?

staroski

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. :wink:

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));
}
L

Funcionou, muito obrigado pelo esclarecimento.

Criado 23 de maio de 2019
Ultima resposta 23 de mai. de 2019
Respostas 10
Participantes 2