forEach e JLabel

Pessoal,

Fiz uma aplicação simples de agenda, com nome e email. Criei um panel para adicionar contatos(Adicionar.java) e outro panel para listar os contatos(Listar.java). No construtor da classe Listar.java eu fiz um forEach pegando cada elemento da lista e jogando dentro dos labels. Mas sempre dá erro. Como devo fazer prara mostrar os contatos??

/*
 * Listar.java
 *
 * Created on 16 de Setembro de 2008, 11:11
 */

package swing;

import java.util.List;
import javax.swing.JLabel;
import pessoa.Pessoa;

/**
 *
 * @author  satux
 */
public class Listar extends javax.swing.JPanel {
    
    private Adicionar adicionar = new Adicionar();
    private List<Pessoa> pessoas = adicionar.getPessoas();

    /** Creates new form Listar */
    public Listar() {
        initComponents();
        
        for (Pessoa pessoa : pessoas) {
            JLabel nome = new JLabel(pessoa.getNome());
            JLabel email = new JLabel(pessoa.getEmail());
            this.add(nome);
            this.add(email);
        }
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

        org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(0, 400, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(0, 300, Short.MAX_VALUE)
        );
    }// </editor-fold>


    // Variables declaration - do not modify
    // End of variables declaration

}