Me ajudem com esse trabalho, por favor!

0 respostas
Rulldra

Gente, eu sei que tem um monte de posts aqui sobre Iterator, e eu já vi muitos deles. Mas nenhum resolveu meu problema.. Não sei qual é o erro no meu código e nem SE tem algum erro. Pode só estar faltando um detalhe. Enfim... preciso fazer um programa que envolva Swing e Collections. Um programa que mostre uma telinha com os campos para o usuário digitar: Nome, Quantidade e Preço.
Preciso fazer os botões: Incluir, Alterar, Remover, Mostrar produtos, Vender e Verificar dados de um produto.
Vou colar aqui o Enunciado inteiro, ok?
"Descrição do trabalho: Você deverá criar um programa em JAVA utilizando SWING e COLLECTION que auxilie o ?dono da loja? a resolver o problema apresentado a seguir. Existe uma loja de departamento com diversos produtos. O dono da lojanão sabe ao certo quantos tipos de produtos existem e por isto resolveu cadastrar todos os tipos de produto. A operação de cadastramento implica nas funcionalidades de inclusão, alteração e exclusão do produto. Os produtos possuem três características principais (atributos): nome, quantidade em estoque e preço. Uma vez que todos os produtos estejam cadastrados no sistema o dono deseja ver na tela os produtos em ordem alfabética de seus nomes. O dono da loja deseja que o programa realize uma venda. Isto ocorrerá da seguinte forma: primeiro o atendente procura um determinado produto pelo nome. O sistema mostra o preço do produto na tela. O atendente confirma que é o produto correto e o sistema abate a quantidade do produto em uma unidade. Obs: para simplificação do problema trabalhe com um número reduzido de produtos."

OK, agora o meu código como está até agora. Eu já fiz a parte de incluir, e estou impacado nos loops necessários para alterar um dado, remover um dado, etc... (Pra alterar, eu preciso que o usuário digite no espaço 'nome' o nome do produto e clique no botão Alterar. Então os dados do produto aparecerão na tela e ele simplesmente alterará o que quiser, clicando em incluir posteriormente. Vai dar certo, isso? O caso de Remover é semelhante: o usuário digita o nome do produto que quer remover e clica em Remover... e pronto, o produto é excluído do meu ArrayList.) Muita coisa desse programa eu fiz com ajuda de um colega que manja mto de JAVA, mas que não tem tempo de me ajudar.

package loja;

                    ...
	ArrayList<Produto> loja = new ArrayList<Produto>();  	Produto p = new Produto(); 
	Iterator busca = new ArrayList(loja).iterator(); 
	    ...
	private JButton getRemover() {
		if (remover == null) {
			remover = new JButton();
			remover.setBounds(new Rectangle(234, 69, 87, 22));
			remover.setText("Remover");
			remover.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					if (nome.getText().equals("")) {
						JOptionPane.showMessageDialog(null,"Digite o nome do produto cujos dados serão removidos do sistema");
					} else {
						while (busca.hasNext()){
							Produto p = (Produto) busca.next();
							if (p.getNome().equals(nome.getText())) {
								loja.remove(p);
								JOptionPane.showMessageDialog(null,"O produto selecionado foi removido do sistema");
							} else {
								JOptionPane.showMessageDialog(null,"O nome do produto especificado não existe no sistema. Tente novamente");
								return;
							}
						}
					}
				}
			});
		}
		return remover;
	}

	private JButton getAlterar() {
		if (alterar == null) {
			alterar = new JButton();
			alterar.setBounds(new Rectangle(235, 39, 86, 23));
			alterar.setText("Alterar");
			alterar.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					if (nome.getText().equals("")) {
						JOptionPane.showMessageDialog(null,"Digite o nome do produto cujos dados serão alterados");
					} else {
						while (busca.hasNext()){
							Produto p = (Produto) busca.next();
							if (p.getNome().equals(nome.getText())) {
								quantidade.setText(Integer.toString(p.getQuantidade()));
								preco.setText(Double.toString(p.getPreco()));
							}else{
								JOptionPane.showMessageDialog(null,"O nome do produto especificado não existe no sistema. Tente novamente");
								return;
							}
						}
					}
				}
			});
		}
		return alterar;
	}

	private JButton getMostrar() {
		if (mostrar == null) {
			mostrar = new JButton();
			mostrar.setBounds(new Rectangle(227, 129, 136, 32));
			mostrar.setText("Mostrar produtos");
			mostrar.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					// Collections.sort(loja);
				}
			});
		}
		return mostrar;
	}

	private JButton getVender() {
		if (vender == null) {
			vender = new JButton();
			vender.setBounds(new Rectangle(235, 101, 85, 21));
			vender.setText("Vender");
			vender.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					if (nome.getText().equals("")) {
						JOptionPane.showMessageDialog(null,"Digite o nome do produto que deseja vender e verifique se o preço está correto. Se não estiver, altere-o.");
					} else {
						while (busca.hasNext()){
							if (loja.contains(nome.getText())) {

							}
						}
					}
					nome.setText("");
					quantidade.setText("");
					preco.setText("");
				}
			});
		}
		return vender;
	}

	private JButton getVer() {
		if (ver == null) {
			ver = new JButton();
			ver.setBounds(new Rectangle(5, 130, 210, 29));
			ver.setText("Verificar dados de um produto");
			ver.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					if (nome.getText().equals("")) {
						JOptionPane.showMessageDialog(null,"Digite o nome do produto cujos dados você deseja verificar.");
					} else {
						while (busca.hasNext()){
							if (loja.contains(nome.getText())) {
								quantidade.setText(Integer.toString(p.getQuantidade()));
								preco.setText(Double.toString(p.getPreco()));
							}else{
								JOptionPane.showMessageDialog(null,"O nome do produto especificado não existe no sistema. Tente novamente");
								return;
							}
						}
					}
				}
			});
		}
		return ver;
	}

	...

Classe auxiliar:

package loja;

public class Produto {
	private String nome;
	private int quantidade;
	private double preco;
	
	public String getNome() {
		return nome;
	}
	
	public void setNome(String nome) {
		this.nome = nome;
	}
	
	public double getPreco() {
		return preco;
	}
	
	public void setPreco(double preco) {
		this.preco = preco;
	}
	
	public int getQuantidade() {
		return quantidade;
	}
	
	public void setQuantidade(int quantidade) {
		this.quantidade = quantidade;
	}
}

Espero que possam me ajudar, sinceramente :(

Criado 24 de novembro de 2006
Respostas 0
Participantes 1