Olá, estou fazendo um projeto, e estou com dificuldades em armazenar os dados de vendas na classe Venda. Eu tenho dificuldade em saber quando eu ponho static ou não, talvez eu tenha errado isso em algum lugar… Quando eu faço um método pra retornar uma String com mostrando as vendas, sempre mostra a última venda, por exemplo, se eu atribui uma compra de um celular e de um liquidificador, quando eu executar a String, vai mostrar como se tivessem 2 compras de 1 liquidificador.
A classe venda tem um ArrayList do tipo Venda que vai guardar cada venda, talvez tenha algum problema em guardar as informações nessa ArrayList…
Vou deixar o código das minhas classes que eu acho que talvez esteja o erro
Classe do Produto: https://pastebin.com/5SWtCsHE
Classe de Vendas: https://pastebin.com/Tz5mLuC9
Eu fiz um JDialog onde a pessoa vai atribuir a compra, o botão de salvar está assim:
public void actionPerformed(ActionEvent e) {
Integer indiceVendedor = 0;
Integer indiceComprador = 0;
Integer indiceProduto = 0;
Integer quantidade = 0;
indiceVendedor = vendedorCB.getSelectedIndex();
indiceComprador = compradorCB.getSelectedIndex();
indiceProduto = produtoCB.getSelectedIndex();
quantidade = Integer.parseInt(produtoQuantidade.getValue()+"");
co.atribuirVendedor(indiceVendedor);
cl.atribuirComprador(indiceComprador);
p.atribuirProduto(indiceProduto, quantidade);
venda.salvarVenda();
retornoTA.setText(venda.retornoVendas());
venda.incrementar();
}
E na classe Cliente é esse método que utilizo pra setar o comprador, o no Colaborador segue o mesmo modelo:
public void atribuirComprador(Integer indiceComprador) {
Venda venda = new Venda();
for (int i = 0; i < clientes.size(); i++) {
Cliente c = clientes.get(i);
if(c.codigo.equals(indiceComprador)) {
venda.setComprador(c.getNome());
}
}
}
