Erro NullPointerException

Pessoal alguém pode me ajudar??? ta dando um erro de null point exception e não consigo enxergar na onde ta esse erro. Vejam minhas classes abaixo:

[code]package br.iterator.semPadrao;

/**
*

  • @author Vagner Duarte
    */
    public class Aluno {
    String nome;
    String sobrenome;
    String tel;
    String cpf;

    public Aluno(String nome, String sobrenome, String tel, String cpf) {
    this.nome = nome;
    this.sobrenome = sobrenome;
    this.tel = tel;
    this.cpf = cpf;
    }

    public String getCpf() {
    return cpf;
    }

    public void setCpf(String cpf) {
    this.cpf = cpf;
    }

    public String getNome() {
    return nome;
    }

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

    public String getSobrenome() {
    return sobrenome;
    }

    public void setSobrenome(String sobrenome) {
    this.sobrenome = sobrenome;
    }

    public String getTel() {
    return tel;
    }

    public void setTel(String tel) {
    this.tel = tel;
    }

}[/code]

[code]package br.iterator.semPadrao;

import javax.swing.JOptionPane;

/**
*

  • @author Vagner Duarte
    */
    public class IteratorGui extends javax.swing.JFrame {

    /** Creates new form IteratorGui */
    public IteratorGui() {
    initComponents();
    }

    /** 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”)
      //
      private void initComponents() {

      jLabel1 = new javax.swing.JLabel();
      jLabel2 = new javax.swing.JLabel();
      jLabel3 = new javax.swing.JLabel();
      jLabel4 = new javax.swing.JLabel();
      jLabel5 = new javax.swing.JLabel();
      jt_nome = new javax.swing.JTextField();
      jt_sobrenome = new javax.swing.JTextField();
      jt_tel = new javax.swing.JTextField();
      jt_cpf = new javax.swing.JTextField();
      bt_gravar = new javax.swing.JButton();
      bt_cancelar = new javax.swing.JButton();
      bt_cadastro = new javax.swing.JButton();

      setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
      setTitle(“Cadastro de Alunos.:”);
      setResizable(false);

      jLabel1.setFont(new java.awt.Font(“Tahoma”, 1, 14)); // NOI18N
      jLabel1.setForeground(java.awt.Color.blue);
      jLabel1.setText(“Cadastro de Alunos Utilizando Lista:”);

      jLabel2.setText(“Nome:”);

      jLabel3.setText(“Sobrenome:”);

      jLabel4.setText(“Telefone:”);

      jLabel5.setText(“Cpf:”);

      jt_nome.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      jt_nomeActionPerformed(evt);
      }
      });

      jt_sobrenome.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      jt_sobrenomeActionPerformed(evt);
      }
      });

      try{
      javax.swing.text.MaskFormatter tel = new javax.swing.text.MaskFormatter("(##)####-####");
      jt_tel = new javax.swing.JFormattedTextField(tel);
      }
      catch (Exception e){
      }
      jt_tel.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      jt_telActionPerformed(evt);
      }
      });

      try{
      javax.swing.text.MaskFormatter cpf = new javax.swing.text.MaskFormatter("###.###.###-##");
      jt_cpf = new javax.swing.JFormattedTextField(cpf);
      }
      catch (Exception e){
      }
      jt_cpf.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      jt_cpfActionPerformed(evt);
      }
      });

      bt_gravar.setText(“Gravar”);
      bt_gravar.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      bt_gravarActionPerformed(evt);
      }
      });

      bt_cancelar.setText(“Cancelar”);

      bt_cadastro.setText(“Mostrar Cadastro”);
      bt_cadastro.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      bt_cadastroActionPerformed(evt);
      }
      });

      javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
      getContentPane().setLayout(layout);
      layout.setHorizontalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(layout.createSequentialGroup()
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
      .addGroup(layout.createSequentialGroup()
      .addContainerGap()
      .addComponent(bt_gravar)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addComponent(bt_cancelar)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addComponent(bt_cadastro))
      .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
      .addGap(68, 68, 68)
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(layout.createSequentialGroup()
      .addComponent(jLabel3)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addComponent(jt_sobrenome, javax.swing.GroupLayout.DEFAULT_SIZE, 212, Short.MAX_VALUE))
      .addGroup(layout.createSequentialGroup()
      .addComponent(jLabel2)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addComponent(jt_nome, javax.swing.GroupLayout.DEFAULT_SIZE, 239, Short.MAX_VALUE))
      .addComponent(jLabel1)
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
      .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
      .addComponent(jLabel5)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addComponent(jt_cpf))
      .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
      .addComponent(jLabel4)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addComponent(jt_tel, javax.swing.GroupLayout.PREFERRED_SIZE, 117, javax.swing.GroupLayout.PREFERRED_SIZE))))))
      .addContainerGap(58, Short.MAX_VALUE))
      );
      layout.setVerticalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(layout.createSequentialGroup()
      .addGap(47, 47, 47)
      .addComponent(jLabel1)
      .addGap(48, 48, 48)
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(jLabel2)
      .addComponent(jt_nome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(jLabel3)
      .addComponent(jt_sobrenome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(jLabel4)
      .addComponent(jt_tel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(jLabel5)
      .addComponent(jt_cpf, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addGap(18, 18, 18)
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(bt_gravar)
      .addComponent(bt_cancelar)
      .addComponent(bt_cadastro))
      .addContainerGap(44, Short.MAX_VALUE))
      );

      java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
      setBounds((screenSize.width-408)/2, (screenSize.height-334)/2, 408, 334);
      }//

    private void jt_nomeActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    }

    private void jt_sobrenomeActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    }

    private void jt_telActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    }

    private void jt_cpfActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    }

    private void limpacampos(){
    jt_cpf.setText("");
    jt_nome.setText("");
    jt_sobrenome.setText("");
    jt_tel.setText("");

    }
    private void bt_gravarActionPerformed(java.awt.event.ActionEvent evt) {
    String nome = jt_nome.getText();
    String sobrenome = jt_sobrenome.getText();
    String cel = jt_tel.getText();
    String cpf = jt_cpf.getText();
    CadastroAluno cadastro = new CadastroAluno();
    cadastro.addAluno(nome, sobrenome, cel, cpf);
    limpacampos();
    JOptionPane.showMessageDialog(null, “Cadastro Efetuado com sucesso!!”);
    jt_nome.requestFocus();
    }

    private void bt_cadastroActionPerformed(java.awt.event.ActionEvent evt) {
    MostraCadastro mostrar = new MostraCadastro();
    mostrar.show();
    dispose();
    mostrar.arraylistcadastro();
    }

    // Variables declaration - do not modify
    private javax.swing.JButton bt_cadastro;
    private javax.swing.JButton bt_cancelar;
    private javax.swing.JButton bt_gravar;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JTextField jt_cpf;
    private javax.swing.JTextField jt_nome;
    private javax.swing.JTextField jt_sobrenome;
    private javax.swing.JTextField jt_tel;
    // End of variables declaration

}[/code]

[code]package br.iterator.semPadrao;

import java.util.ArrayList;

/**
*

  • @author Vagner Duarte
    */
    public class CadastroAluno {

    private ArrayList alunos;

    public void addAluno(String nome, String sobrenome, String tel, String cpf){
    alunos = new ArrayList();
    Aluno aluno = new Aluno(nome, sobrenome,tel,cpf);
    alunos.add(aluno);
    }
    public ArrayList lista_alunos(){
    return alunos;
    }
    }[/code]

[code]package br.iterator.semPadrao;

import java.util.ArrayList;
import javax.swing.JOptionPane;

/**
*

  • @author Vagner Duarte
    */
    public class MostraCadastro extends javax.swing.JFrame {
    ArrayList alunos;

    public MostraCadastro() {
    initComponents();
    }

    public void arraylistcadastro(){
    CadastroAluno cadastro = new CadastroAluno();
    alunos = new ArrayList();
    alunos = cadastro.lista_alunos();

    if(alunos.size() == 0){
    JOptionPane.showMessageDialog(null, “A lista esta vazia”);
    }

    for(int i =0; i <= alunos.size();i++){
    Aluno aluno = (Aluno) alunos.get(i);
    jta_cadastro.append(aluno.getNome());
    jta_cadastro.append(aluno.getSobrenome());
    jta_cadastro.append(aluno.getTel());
    jta_cadastro.append(aluno.getCpf());
    }

    }

    @SuppressWarnings(“unchecked”)
    //
    private void initComponents() {

     jLabel1 = new javax.swing.JLabel();
     jScrollPane1 = new javax.swing.JScrollPane();
     jta_cadastro = new javax.swing.JTextArea();
    
     setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
     setResizable(false);
    
     jLabel1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
     jLabel1.setForeground(java.awt.Color.blue);
     jLabel1.setText("Alunos Cadastrados:");
    
     jta_cadastro.setColumns(20);
     jta_cadastro.setRows(5);
     jScrollPane1.setViewportView(jta_cadastro);
    
     javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
     getContentPane().setLayout(layout);
     layout.setHorizontalGroup(
         layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
         .addGroup(layout.createSequentialGroup()
             .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                 .addGroup(layout.createSequentialGroup()
                     .addGap(131, 131, 131)
                     .addComponent(jLabel1))
                 .addGroup(layout.createSequentialGroup()
                     .addGap(20, 20, 20)
                     .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 346, javax.swing.GroupLayout.PREFERRED_SIZE)))
             .addContainerGap(34, Short.MAX_VALUE))
     );
     layout.setVerticalGroup(
         layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
         .addGroup(layout.createSequentialGroup()
             .addGap(33, 33, 33)
             .addComponent(jLabel1)
             .addGap(18, 18, 18)
             .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 152, javax.swing.GroupLayout.PREFERRED_SIZE)
             .addContainerGap(80, Short.MAX_VALUE))
     );
    
     java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
     setBounds((screenSize.width-408)/2, (screenSize.height-334)/2, 408, 334);
    

    }//

    /**

    • @param args the command line arguments
      */

    // Variables declaration - do not modify
    private javax.swing.JLabel jLabel1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTextArea jta_cadastro;
    // End of variables declaration

}[/code]

Olá,
posta a exception aqui. Vai ser mais fácil verificar com ela.

Att.

segue o erro:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at br.iterator.semPadrao.MostraCadastro.arraylistcadastro(MostraCadastro.java:33) at br.iterator.semPadrao.IteratorGui.bt_cadastroActionPerformed(IteratorGui.java:225) at br.iterator.semPadrao.IteratorGui.access$500(IteratorGui.java:20) at br.iterator.semPadrao.IteratorGui$6.actionPerformed(IteratorGui.java:113) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6216) at javax.swing.JComponent.processMouseEvent(JComponent.java:3265) at java.awt.Component.processEvent(Component.java:5981) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4583) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4413) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4556) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4220) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4150) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2475) at java.awt.Component.dispatchEvent(Component.java:4413) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Olá,
acho que o erro está na linha 26 do MostraCadastro. Está como:

for(int i =0; i <= alunos.size();i++){

acho que deveria ser:

for(int i =0; i < alunos.size();i++){

Att.

não é esse o erro não…fiz o teste

eu to desconfiado dessa linha aqui ó:

CadastroAluno cadastro = new CadastroAluno();

Será que quando eu instanciou aqui, ele não zera o objeto aluno e ai tento acessar os atributos, ai da o erro??

Pois é, não tinha notado… são dois problemas…

o problema primeiro esta nas linhas 19 e 20 do MostraCadastro, nas quais você seta a mesma variável duas vezes.

Deve haver um método lista_alunos() na classe CadastroAluno né? O segundo problema é que este método retorna a variável alunos da classe CadastroAluno, que ainda não foi inicializada (está sendo inicializada somente no método addAluno(String nome, String sobrenome, String tel, String cpf)).

Att.