Boa tarde pessoal, fiz esse método que retorna o valor unitário de um produto quando digitado apenas o valor no campo Valor Total:
public BigDecimal calcularValorUnitarioProduto() {
BigDecimal divisor = new BigDecimal(campoQuantidadeProduto.getValor());
BigDecimal campValTotProd = campoValorTotalProduto.getValor();
BigDecimal valorUnitario = campValTotProd.divide(divisor);
// JOptionPane.showMessageDialog(null, "Valor unitário: " + df.format(valorUnitario));
return valorUnitario;
}
A minha dúvida é a seguinte, como eu devo atribuir o valor do retorno desse método para o JTextField “Valor Unitário” antes ou depois de acionar o botão “Adicionar” sendo que esse valor tem que ser adicionado também em uma coluna de uma JTable?
Antes do apertar o botão adicionar, coloca antes do seu return.
nomeJTxtField.setText(String.valueOf(valorUnitario));
Se quiser quando apertar o botão adicionar, dentro do action dele vc faz a mesma coisa.
nomeJTxtField.setText(String.valueOf(variavelComOValorUnitario));
Aproveitando o tópico, não estou conseguindo arredondar o resultado de uma divisão em BigDecimal (298,00 / 120 = 2,483333333333333), com uma quantidade de casas menores (2,567) ele está arredondando mas, com o resultado de (298,00 / 120) não arredonda, pesquisei e encontrei algumas formas e adaptei ao meu código, tentei os seguintes métodos:
BigDecimal valorUnitario = campValTotProd.divide(divisor).setScale(2, BigDecimal.ROUND_UP);
BigDecimal valorUnitario = campValTotProd.divide(divisor).round(new MathContext(2));
BigDecimal valorUnitario = campValTotProd.divide(divisor).setScale(2,RoundingMode.UP);
Mas não arredonda, alguém sabe me dizer onde estou errando?