Olá bom dia. Sou iniciante em java e estou com algumas dúvidas.
Tenho o seguinte problema.No sistema que estou mexendo tenho uma tela chamada Vendas onde é mostrado e realizado o processo da venda de um produto.
Há o campo chamado codigo, neste onde eu coloco o codigo do meu produto e ele retorna pra mim as informações do produto nos seguinte campos: descrição, quantidade e desconto.
Até ai ta tudo certo, posso adicionar o produto na minha venda e realizá-la com sucesso. Quando adiciono o produto na tabela ele busca automaticamente outros dados daquele produto, como por exemplo: valor, fabricante etc. Após isso eu confimo a venda e ela é realizada com sucesso.
Abaixo segue a tela:
Criei um produto teste, que tem o valor unitario 703,20, adicionei 2 produtos testes e me retornou um total de 1406,40. Gostaria de adicionar mais um produto teste mas passando um novo valor, exemplo 500, sendo assim dele deveria entrar na minha tabela com valor unitario diferente dos demais e somando ao total.

Foi solicitado um novo campo ‘valor’ este campo foi criado para receber o valor do produto. O valor do produto já é cadastrado na hora que eu cadastro o produto, sendo assim, até o momento o usuário não pode alterar o valor, sendo que na hora que o produto é adicionado o valor ja vem automaticamente. O que foi pedido é que o usuário possa alterar o valor antes de adicionar o produto, por motivos de força maior, o usuário em questão precisa ter esta liberdade.
Abaixo segue parte do código.
private void adicionarProduto(Produto produto) {
if (existeProdutoLista(produto)) {
atualizaProduto(produto);
} else {
DefaultTableModel model = (DefaultTableModel) TabelaProduto.getModel();
String[] valores = new String[9];
if (produto.getCodigo() != null) {
valores[0] = String.valueOf(produto.getCodigo());
}
if (produto.getNumFabricante() != null) {
valores[1] = String.valueOf(produto.getNumFabricante());
}
if (produto.getDescricao() != null) {
valores[2] = String.valueOf(produto.getDescricao());
}
if (produto.getFabricante() != null) {
valores[3] = String.valueOf(produto.getFabricante().getNome());
}
if (!TxtQuantidade.getText().equals("")) {
valores[4] = String.valueOf(TxtQuantidade.getText());
}
if (produto.getTipoEstoque() != null) {
valores[5] = String.valueOf(produto.getTipoEstoque().getTipo());
} else {
valores[5] = "-";
}
Float valorProduto = produto.getValorVenda();
//Verificação do plano de pagamento
//Plano Normal = 2 - Preço de Custo
if (planoPagamento != null && planoPagamento.getPrecoPadrao() == 2) {
valorProduto = produto.getValorCusto();
}
//Plano Normal = 3 - Preço de Custo + Encargos
if (planoPagamento != null && planoPagamento.getPrecoPadrao() == 3) {
Float lucro = produto.getValorVenda() - produto.getValorCusto();
valorProduto = valorProduto - lucro;
}
if (valorProduto != null) {
valores[6] = String.valueOf(valorProduto);
} else {
valores[6] = "0";
}
if (!TxtDesconto.getText().equals("")) {
valores[7] = String.valueOf(TxtDesconto.getText());
}
Float valorTotal = calculoValorVenda(valorProduto, Float.parseFloat(TxtDesconto.getText()), Float.parseFloat(TxtQuantidade.getText()));
valores[8] = String.valueOf(valorTotal);
model.addRow(valores);
TabelaProduto.setModel(model);
atualizaTotal();
atualizarListProdutos(produto,
Float.parseFloat(TxtQuantidade.getText()),
Float.parseFloat(TxtDesconto.getText()),
produto.getValorVenda());
}
}