Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException ajudem por favor

4 respostas
F

Olá galera,

Sempre que rodo o programa dá a seguinte mensagem de erro.

Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException

at image_measure.FormularioDados.initComponents(FormularioDados.java:62)

at image_measure.FormularioDados.(FormularioDados.java:17)

at image_measure.JanelaInicial.experimentoLegibilidade(JanelaInicial.java:67)

at image_measure.JanelaInicial.access$000(JanelaInicial.java:13)

at image_measure.JanelaInicial$1.actionPerformed(JanelaInicial.java:40)

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:6041)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)

at java.awt.Component.processEvent(Component.java:5806)

at java.awt.Container.processEvent(Container.java:2058)

at java.awt.Component.dispatchEventImpl(Component.java:4413)

at java.awt.Container.dispatchEventImpl(Container.java:2116)

at java.awt.Component.dispatchEvent(Component.java:4243)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)

at java.awt.Container.dispatchEventImpl(Container.java:2102)

at java.awt.Window.dispatchEventImpl(Window.java:2440)

at java.awt.Component.dispatchEvent(Component.java:4243)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

CONSTRUÇÃO PARADA (tempo total: 7 segundos)

Não estou conseguindo sanar este erro. Abaixo o código:

public class FormularioDados extends javax.swing.JFrame {

Dados dados; 
Banco banco = new Banco();

/** Creates new form FormularioDados */
public FormularioDados(Dados dados) {
    
    this.dados = dados;
    
  banco.preencherListaUsuarios();
            
    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.
 */
// <editor-fold defaultstate="collapsed" desc="Generated Code">                          
private void initComponents() {

    botaoCancelar = new javax.swing.JButton();
    botaoIniciar = new javax.swing.JButton();
    cbUsuario = new javax.swing.JComboBox();
    jLabel11 = new javax.swing.JLabel();
    botaoCadastrarUsuario = new javax.swing.JButton();
    jButton1 = new javax.swing.JButton();
    campoEMail = new javax.swing.JTextField();
    jLabel5 = new javax.swing.JLabel();

    setTitle("Declaração de Dados");
    setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
    setFont(new java.awt.Font("Arial", 0, 12));
    setForeground(new java.awt.Color(186, 238, 159));
    setResizable(false);

    botaoCancelar.setFont(new java.awt.Font("Arial", 0, 12));
    botaoCancelar.setText("Cancelar");
    botaoCancelar.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            cancelarExperimento(evt);
        }
    });

    botaoIniciar.setFont(new java.awt.Font("Arial", 0, 12));
    botaoIniciar.setText("Iniciar");
    botaoIniciar.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            iniciarExperimento(evt);
        }
    });

    cbUsuario.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
    [b]cbUsuario.setSelectedItem(dados.getNomeUsuario()
    );[/b]
    cbUsuario.setFont(new java.awt.Font("Arial", 0, 12));
    cbUsuario.setModel(new javax.swing.DefaultComboBoxModel(banco.listaUsuarios));
    cbUsuario.addItemListener(new java.awt.event.ItemListener() {
        public void itemStateChanged(java.awt.event.ItemEvent evt) {
            usuarioSelecionado(evt);
        }
    });

    jLabel11.setFont(new java.awt.Font("Arial", 0, 12));
    jLabel11.setText("Usuário");

    botaoCadastrarUsuario.setFont(new java.awt.Font("Arial", 0, 12));
    botaoCadastrarUsuario.setText("Cadastrar Usuário");
    botaoCadastrarUsuario.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            cadastrarUsuario(evt);
        }
    });

    jButton1.setFont(new java.awt.Font("Arial", 0, 12));
    jButton1.setText("Atualizar");
    jButton1.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            Atualizar(evt);
        }
    });

    campoEMail.setFont(new java.awt.Font("Arial", 0, 12));

    jLabel5.setFont(new java.awt.Font("Arial", 0, 12));
    jLabel5.setText("email");

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(layout.createSequentialGroup()
            .addContainerGap()
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(jLabel11)
                .addComponent(cbUsuario, javax.swing.GroupLayout.PREFERRED_SIZE, 306, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(jLabel5)
                .addGroup(layout.createSequentialGroup()
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                        .addGroup(layout.createSequentialGroup()
                            .addComponent(campoEMail, javax.swing.GroupLayout.PREFERRED_SIZE, 288, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED))
                        .addGroup(layout.createSequentialGroup()
                            .addComponent(botaoCadastrarUsuario)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(botaoCancelar)
                            .addGap(33, 33, 33)))
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(botaoIniciar)
                        .addComponent(jButton1))))
            .addContainerGap(16, Short.MAX_VALUE))
    );
    layout.setVerticalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(layout.createSequentialGroup()
            .addGap(21, 21, 21)
            .addComponent(jLabel11)
            .addGap(18, 18, 18)
            .addComponent(cbUsuario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addGap(21, 21, 21)
            .addComponent(jLabel5)
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(campoEMail, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(jButton1))
            .addGap(18, 18, 18)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(botaoCadastrarUsuario)
                .addComponent(botaoIniciar)
                .addComponent(botaoCancelar))
            .addContainerGap(56, Short.MAX_VALUE))
    );

    java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
    setBounds((screenSize.width-409)/2, (screenSize.height-270)/2, 409, 270);
}// </editor-fold>                        

private void Atualizar(java.awt.event.ActionEvent evt) {                           
        
    dados.setNomeUsuario((String)cbUsuario.getSelectedItem());
    
    banco.setEMail((String)cbUsuario.getSelectedItem(),campoEMail.getText());
    
    campoEMail.setText("");
            
}                          


private void usuarioSelecionado(java.awt.event.ItemEvent evt) {                                    
       
}                                   

private void iniciarExperimento(java.awt.event.ActionEvent evt) {                                    
    
          
    /*dados.setTipoMonitor((String)cbMonitor.getSelectedItem());
    dados.setResolucaoMonitor((String)cbResolucao.getSelectedItem());
    dados.setTamanhoMonitor((String)cbTamanho.getSelectedItem());
    dados.setDistanciaObservacao((String)cbDistancia.getSelectedItem());*/
    dados.setNomeUsuario((String)cbUsuario.getSelectedItem());
    dados.setProgresso(0);
    dados.setOrdenaImagem(0);
    dados.setData();
    
    Experimento experimento = new Experimento(dados);
    experimento.setVisible(true);
    
    try{
        setVisible(false);
        finalize();
        System.gc();
    }
    catch(Throwable tA){
        
        tA.printStackTrace();
    }
            
}                                   

private void cancelarExperimento(java.awt.event.ActionEvent evt) {                                     
    
     try{
        setVisible(false);
        finalize();
        System.gc();
    }
    catch(Throwable tA){
        
        tA.printStackTrace();
    }
}                                    

private void cadastrarUsuario(java.awt.event.ActionEvent evt) {                                  
    
    CadastroDeUsuario cadastroDeUsuario = new CadastroDeUsuario(dados);
    
    cadastroDeUsuario.setVisible(true);
    
    try{
        setVisible(false);
        finalize();
        System.gc();
    }
    catch(Throwable tA){
        
        tA.printStackTrace();
    }
}                                 

/*public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            new FormularioDados().setVisible(true);
        }
    });
}*/

// Variables declaration - do not modify                     
private javax.swing.JButton botaoCadastrarUsuario;
private javax.swing.JButton botaoCancelar;
private javax.swing.JButton botaoIniciar;
private javax.swing.JTextField campoEMail;
private javax.swing.JComboBox cbUsuario;
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel5;
// End of variables declaration

}

obs: a linha em negrito é a linha a qual sou direcionado sempre que clico na mensagem de erro.

4 Respostas

M

Primeiro, antes de postar seus códigos use as tags [ code].
Segundo, como não consegui entender seu código porque não estão dentro das tags de código eu te pergunto, antes dessa linha: cbUsuario.setSelectedItem(dados.getNomeUsuario()
Onde você está populando o cbUsuario e o objeto dados já foi instanciado antes dessa linha?

Acho que com isso você resolve seu problema.

Alexandre_Saudate

Outra coisa… o que seria o seguinte:

finalize(); System.gc();

Seria isso uma intenção de destruir o frame? Porque se for, aviso que não vai adiantar nada… o ideal é você usar setDefaultCloseOperation(DISPOSE_ON_CLOSE);

[]´s

F
public class FormularioDados extends javax.swing.JFrame {
    
    Dados dados= new Dados() ; 
    Banco banco = new Banco();
    
    /** Creates new form FormularioDados */
    public FormularioDados(Dados dados) {
        
        this.dados = dados;
        
        banco.preencherListaUsuarios();
                
        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.
     */
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        botaoCancelar = new javax.swing.JButton();
        botaoIniciar = new javax.swing.JButton();
        cbUsuario = new javax.swing.JComboBox();
        jLabel11 = new javax.swing.JLabel();
        botaoCadastrarUsuario = new javax.swing.JButton();
        jButton1 = new javax.swing.JButton();
        campoEMail = new javax.swing.JTextField();
        jLabel5 = new javax.swing.JLabel();

        setTitle("Declaração de Dados");
        setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
        setForeground(new java.awt.Color(186, 238, 159));
        setResizable(false);

        botaoCancelar.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
        botaoCancelar.setText("Cancelar");
        botaoCancelar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cancelarExperimento(evt);
            }
        });

        botaoIniciar.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
        botaoIniciar.setText("Iniciar");
        botaoIniciar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                iniciarExperimento(evt);
            }
        });

        cbUsuario.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
        cbUsuario.setSelectedItem(dados.getNomeUsuario()
        );
        cbUsuario.setFont(new java.awt.Font("Arial", 0, 12));
        cbUsuario.setModel(new javax.swing.DefaultComboBoxModel(banco.listaUsuarios));
        cbUsuario.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                usuarioSelecionado(evt);
            }
        });

        jLabel11.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
        jLabel11.setText("Usuário");

        botaoCadastrarUsuario.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
        botaoCadastrarUsuario.setText("Cadastrar Usuário");
        botaoCadastrarUsuario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cadastrarUsuario(evt);
            }
        });

        jButton1.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
        jButton1.setText("Atualizar");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                Atualizar(evt);
            }
        });

        campoEMail.setFont(new java.awt.Font("Arial", 0, 12));

        jLabel5.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
        jLabel5.setText("email");

        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()
                        .addContainerGap()
                        .addComponent(jLabel11))
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(cbUsuario, javax.swing.GroupLayout.PREFERRED_SIZE, 304, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jLabel5))
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                                .addComponent(botaoCancelar)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(botaoCadastrarUsuario)
                                .addGap(39, 39, 39)
                                .addComponent(botaoIniciar))
                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                                .addComponent(campoEMail, javax.swing.GroupLayout.PREFERRED_SIZE, 288, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jButton1)))))
                .addContainerGap(18, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(29, 29, 29)
                .addComponent(jLabel11)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(cbUsuario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(jLabel5)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(campoEMail, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jButton1))
                .addGap(38, 38, 38)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(botaoCancelar)
                    .addComponent(botaoIniciar)
                    .addComponent(botaoCadastrarUsuario))
                .addContainerGap(20, Short.MAX_VALUE))
        );

        java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
        setBounds((screenSize.width-409)/2, (screenSize.height-253)/2, 409, 253);
    }// </editor-fold>                        

    private void Atualizar(java.awt.event.ActionEvent evt) {                           
            
        dados.setNomeUsuario((String)cbUsuario.getSelectedItem());
        
        banco.setEMail((String)cbUsuario.getSelectedItem(),campoEMail.getText());
        
        campoEMail.setText("");
                
    }                          
    
    
    private void usuarioSelecionado(java.awt.event.ItemEvent evt) {                                    
           
    }                                   

    private void iniciarExperimento(java.awt.event.ActionEvent evt) {                                    
        
              
/*        dados.setTipoMonitor((String)cbMonitor.getSelectedItem());
        dados.setResolucaoMonitor((String)cbResolucao.getSelectedItem());
        dados.setTamanhoMonitor((String)cbTamanho.getSelectedItem());
        dados.setDistanciaObservacao((String)cbDistancia.getSelectedItem());*/
        dados.setNomeUsuario((String)cbUsuario.getSelectedItem());
        dados.setProgresso(0);
        dados.setOrdenaImagem(0);
        dados.setData();
        
        Experimento experimento = new Experimento(dados);
        experimento.setVisible(true);
        
        try{
            setVisible(false);
            finalize();
            System.gc();
        }
        catch(Throwable tA){
            
            tA.printStackTrace();
        }
                
    }                                   

    private void cancelarExperimento(java.awt.event.ActionEvent evt) {                                     
        
         try{
            setVisible(false);
            finalize();
            System.gc();
        }
        catch(Throwable tA){
            
            tA.printStackTrace();
        }
    }                                    

    private void cadastrarUsuario(java.awt.event.ActionEvent evt) {                                  
        
        CadastroDeUsuario cadastroDeUsuario = new CadastroDeUsuario(dados);
        
        cadastroDeUsuario.setVisible(true);
        
        try{
            setVisible(false);
            finalize();
            System.gc();
        }
        catch(Throwable tA){
            
            tA.printStackTrace();
        }
    }                                 
    
    /**
     * @param args the command line arguments
     */
   /* public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new FormularioDados().setVisible(true);
            }
        });
    }*/
    
    // Variables declaration - do not modify                     
    private javax.swing.JButton botaoCadastrarUsuario;
    private javax.swing.JButton botaoCancelar;
    private javax.swing.JButton botaoIniciar;
    private javax.swing.JTextField campoEMail;
    private javax.swing.JComboBox cbUsuario;
    private javax.swing.JButton jButton1;
    private javax.swing.JLabel jLabel11;
    private javax.swing.JLabel jLabel5;
    // End of variables declaration                   
   
}
Primeiramente desculpa por não por as tags , sou muito newbie. Acredito que eu tenha instanciado na linha:
Dados dados= new Dados() ;
Mas o erro persiste.
F

Opa Funcionou!!!
Era isso mesmo markin, vlw galera vc’s são 10.

Criado 19 de fevereiro de 2010
Ultima resposta 19 de fev. de 2010
Respostas 4
Participantes 3