1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Dificuldade em ArrayList de Objetos

Estou fazendo um projeto para faculdade com telas visuais. Sou iniciante ainda nesse "mundo" de telas visuais e também em ArrayLists e estou com algumas dificuldades:

Tenho a classe que faz uma tela para cadastro de produtos e minha maior dúvida é no ActionPerformed dela :

public void actionPerformed(ActionEvent arg0) {
        if (arg0.getActionCommand().equals("Cadastrar")) {
            ArrayList<Produto>produtos=new ArrayList<Produto>();
            Produto produto = new Produto(); 
            produto.setCodigo(campoCodigo.getText());
            produto.setNome(campoNome.getText());
            // String preco = campoPreco.getText();
            produto.setDescricao(campoDescricao.getText());

            // se a String codigo não estiver vazia, mostre :
            if (produto.getCodigo().trim().isEmpty() == false // o metodo trim
                                                                // remove
                                                                // espaços em
                                                                // branco
                    && produto.getNome().trim().isEmpty() == false
                    // && preco.trim().isEmpty() == false
                    && produto.getDescricao().trim().isEmpty() == false) {
                JOptionPane.showMessageDialog(null,
                        "Produto cadastrado com sucesso");
                produtos.add(produto);
                JOptionPane.showMessageDialog(null,produtos);

Classe produto:

public class Produto {

    private static  String codigo;
    private static  String nome;
    private  static Preco preco;
    private  static String descricao;



    public static  String getCodigo() {
        return codigo;
    }

    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }

    public static String getNome() {
        return nome;
    }

    public  void setNome(String nome) {
        this.nome = nome;
    }

    public static Preco getPreco() {
        return preco;
    }

    public  void setPreco(Preco preco) {
        this.preco = preco;
    }

    public static String getDescricao() {
        return descricao;
    }

    public  void setDescricao(String descricao) {
        this.descricao = descricao;
    }

**Vamos as dúvidas. ps:nao sei se esse código tá correto, pois nao consigo exibir o arraylist.

1- ao tentar exibir o arraylist ele mostra a referencia, preciso reescrever o toString , correto ? mas e lá dentro do metodo, boto o que pra ele mostrar o nome do produto ? getNome() ?

2- preciso de um foreach tbm, caso queria cadastrar varios produtos?!**

Grato!

  • Para exibir o seu "array" você pode criar um teste (teste unitario ounão) e visualizar melhor o que está acontecendo. Para exibir o seu "produto de produtos" você faz um foreach. Sabe fazer? Ou, como você gostaria de mostrar no seu JOptionPane, todos juntos ou em janelas separadas?

    Yuri Salgado   27 de nov de 2013
  • Sobre o resto, ele mostra a referencia porque voce diz para ele mostrar o "objeto produtos", que por sua vez é a referencia da sua lista de produtos e não um produto especifico. Espero ter ajudado Andre.

    Yuri Salgado   27 de nov de 2013
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags java arraylist orientação-a-objetos ou faça a sua própria pergunta.