RunTime Error: Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException?

1 resposta
S

Galera, tem algo errado aqui…
Tenho uma Classe com os metodos de edicao.
e tenho uma classe que herda a Classe edicao para mostrar num JFrame com os componentes (textFields, jButtons).
Porem esta dando um runtime error quando executo a subClasse do Formulario. Porque??? Alguem poderia me ajudar??

Essa eh a minha Classe de Edicao, onde os metodos estao:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Formularios;

import antlr.JavaCodeGenerator;
import java.awt.event.ActionEvent;
import java.sql.SQLException;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import utilitarios.conexao;

/**
 *
 * @author Naoki
 */
public class editorContratos extends objContratos{
    
   //boolean primeiraVezSeller = true;
   
   String Contrato="nois";
   
  JTextField tfContrato = new JTextField();
  JTextField tfCod = new JTextField();
  JTextField tfSellerCod = new JTextField();
  JComboBox cbSeller = new JComboBox();
  JButton btAltera = new JButton("Altera");
  JButton btGrava = new JButton("Grava");
  JButton btExclui = new JButton("Exclui");
  JButton btNovo = new JButton("Novo");
  JButton btAnterior = new JButton("<");
  JButton btPrimeiro = new JButton("<<");
  JButton btUltimo = new JButton(">>");
  JButton btProximo = new JButton(">");
  
  objContratos editor = new objContratos();
  int navega =0;
  conexao obj_access =new conexao();
  
 // conexao con_seller = new conexao();  
public editorContratos(){
    


}
  
public void defineTexto(String Contrato){tfContrato.setText(Contrato);}
     //metodo usado para chamar o Contato="nois" declarado nessa Classe;
public void mostraDados(){ 
    try  {
    tfContrato.setText(obj_access.resultset.getString("Contrato"));
    tfCod.setText(obj_access.resultset.getString("ContratoCod"));
    tfSellerCod.setText(obj_access.resultset.getString("SellerCod"));
         }
       catch(Exception erro)
         {
                    if (navega == 1) {
                    JOptionPane.showMessageDialog(null, "Olha, voce ja esta no primeiro registro "+erro);
                }
                    else if (navega == 2) {
                    JOptionPane.showMessageDialog(null, "Olha, voce ja esta no ultimo registro "+erro);
                }
                    else {
                    JOptionPane.showMessageDialog(null, "Nao ha dados registrados! Erro:"+erro);
                }
                    navega =0;
         }
         
}    

public void alteraContratos(){ 
    try 
{
            String sql = "UPDATE Contratos SET Contrato = '"
                    +tfContrato.getText()+"' Where ContratoCod = "
                    +tfCod.getText();
            JOptionPane.showMessageDialog(null,"SQL ="+sql);//verificador sql
            obj_access.statement.executeUpdate(sql);
           
            JOptionPane.showMessageDialog(null, "Älteracao realizada com sucesso");
            obj_access.executeSQL("select * from Contratos");
           
            obj_access.resultset.next();
            mostraDados();
            
            }
    catch(SQLException erro)
            {
                JOptionPane.showMessageDialog(null, "Nao foi possivel atualizar o registro  :"+erro);
            }
    
}
public void excluiContratos()   {
         try                                             
    {
            
        String sql = "select * from Contratos Where ContratoCod = "+tfCod.getText();
        obj_access.executeSQL(sql);
        obj_access.resultset.first();
        String nome = "Deletar o registro cod: "+obj_access.resultset.getString("ContratoCod")+" ?";
        int opcao_escolhida = JOptionPane.showConfirmDialog(null,nome,"Exclusao  ",JOptionPane.YES_NO_OPTION );
        if (opcao_escolhida == JOptionPane.YES_OPTION)
           {
                    sql = "DELETE FROM Contratos Where ContratoCod = "+tfCod.getText();
                    int conseguiu_excluir = obj_access.statement.executeUpdate(sql);
                if (conseguiu_excluir == 1)
                    {
                        JOptionPane.showMessageDialog(null, "Exclusao realizada com sucesso");
                        obj_access.executeSQL("select * from Contratos");
                        obj_access.resultset.first();
                        mostraDados();
                     }
            }
                else
                     return;
        
     } 
        catch(SQLException erro)
            {
                JOptionPane.showMessageDialog(null, "Erro ao tentar excluir o registro do Contrato, erro = "+erro);
            }
   }
public void gravaContratos(){   try
                {
    
               
                        String sqlinsert ="insert into Contratos (Contrato,ContratoCod) values('"+tfContrato.getText()+"',"+tfCod.getText()+" )";
                        JOptionPane.showMessageDialog(null,"sql = "+sqlinsert);        
                        obj_access.statement.executeUpdate(sqlinsert);
                        JOptionPane.showMessageDialog(null,"                       Gravacao realizada com sucesso.\n " +
                                "O Banco de Dados adicionou um codigo automaticamente!");
                        obj_access.executeSQL("select * from Contratos");
                        obj_access.resultset.first();
                        mostraDados();
                }
            catch(SQLException erro)
                {
                JOptionPane.showMessageDialog(null, "Nao foi possivel completar a gravacao! \n "+erro);
                }
            

}
public void novoContratos()   {
        try
        {  
               obj_access.resultset.last();
               int ulticod = obj_access.resultset.getInt("ContratoCod");
               tfCod.setText(""+(ulticod + 1)); 
               tfContrato.setText("");
               tfContrato.requestFocus();
               tfCod.setEditable(false);
         }
           catch(SQLException erro)
        {
               JOptionPane.showMessageDialog(null, "O programa irá gerar um código automaticamente !!!");
               tfCod.setEditable(false);
               tfCod.setText("AutoNum");
               tfContrato.setText(""); 
               tfContrato.requestFocus();
            
        }
 }
public void actionPerformed(ActionEvent acao)
   {
       if(acao.getSource() == btAltera)
       {
           alteraContratos();
       }
       if(acao.getSource() == btGrava)
       {
           gravaContratos();
       }
       if(acao.getSource() == btExclui)
       {
           excluiContratos();
       }
       if(acao.getSource() == btNovo)
       {
           novoContratos();
       }
       if (acao.getSource() == btPrimeiro)
       {
           primContrato();
       }
       if (acao.getSource() == btAnterior)
       {
           anteriorContrato();
       }
       if (acao.getSource() == btProximo)
       {    
            proxContrato();
       }
       if (acao.getSource() == btUltimo)
       {
           ultimoContrato();
       }
      
       
       
   }
public void primContrato()   {
        try
        {
           navega = 2;
           obj_access.resultset.first();
           mostraDados();
           
        }
        catch(SQLException erro)
        {
            JOptionPane.showMessageDialog(null, "Nao localizou possivel ir para o primeiro registro"+erro);
        }
   }
         
          public void anteriorContrato()   {
         try
        {
           navega = 1;
           obj_access.resultset.previous();
           mostraDados();
        }
        catch(SQLException erro)
        {
            JOptionPane.showMessageDialog(null, "Nao localizou possivel voltar para o registro anterior"+erro);
        }
   }
          
          public void proxContrato()   {
          try
        {
           navega = 2;
           obj_access.resultset.next();
            mostraDados();
           
        }
            catch(SQLException erro)
        {
            JOptionPane.showMessageDialog(null, "Nao localizou possivel ir para o proxiom registro"+erro);
        }
   }
            public void ultimoContrato()   {
        try
        {
           
           obj_access.resultset.last();
           mostraDados();
        }
           catch(SQLException erro)
        {
            JOptionPane.showMessageDialog(null, "Nao localizou possivel ir para o ultimo registro"+erro);
        }
   }    
       
}

aqui esta a minha subClasse Formulario herdada da Classe Edicao:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Formularios;

import java.awt.event.ActionListener;
import java.sql.SQLException;
import javax.swing.*;

/**
 *
 * @author Naoki
 */
public class formContratos extends editorContratos implements ActionListener{
    
    JFrame jFrameContrato = new JFrame();
   
    public formContratos (){

      
        jFrameContrato.setLayout(null);
        jFrameContrato.setSize(300, 300);
        jFrameContrato.setLocation(600, 200);
        jFrameContrato.setVisible(true);
        
        
        jFrameContrato.add(tfContrato);
        tfContrato.setBounds(10, 10, 50, 20);
         jFrameContrato.getContentPane().add(tfContrato);
        
        jFrameContrato.add(tfCod);
        tfCod.setBounds(70, 10, 50, 20);
        jFrameContrato.getContentPane().add(tfCod);
        
        jFrameContrato.add(btAltera);
        btAltera.setBounds(130, 10, 80, 20);
        jFrameContrato.getContentPane().add(btAltera);
        btAltera   .addActionListener((ActionListener) this);
        
        jFrameContrato.add(btGrava);
        btGrava.setBounds(210, 10, 80, 20);
         jFrameContrato.getContentPane().add(btGrava);
        btGrava   .addActionListener((ActionListener) this);
        
        jFrameContrato.add(btExclui);
        btExclui.setBounds(210, 30, 80, 20);
        jFrameContrato.getContentPane().add(btExclui);
        btExclui   .addActionListener((ActionListener) this);
        
        jFrameContrato.add(btNovo);
        btNovo.setBounds(130, 30, 80, 20);
         jFrameContrato.getContentPane().add(btNovo);
        btNovo   .addActionListener((ActionListener) this);
        
        jFrameContrato.add(btPrimeiro);
        btPrimeiro.setBounds(130, 50, 80, 20);
        jFrameContrato.getContentPane().add(btPrimeiro);
        btPrimeiro   .addActionListener((ActionListener) this);
        
        jFrameContrato.add(btUltimo);
        btUltimo.setBounds(210, 50, 80, 20);
        jFrameContrato.getContentPane().add(btUltimo);
        btUltimo   .addActionListener((ActionListener) this);
        
        jFrameContrato.add(btProximo);
        btProximo.setBounds(210, 70, 80, 20);
        jFrameContrato.getContentPane().add(btProximo);
        btProximo   .addActionListener((ActionListener) this);
        
        jFrameContrato.add(btAnterior);
        btAnterior.setBounds(130, 70, 80, 20);
        jFrameContrato.getContentPane().add(btAnterior);
        btAnterior   .addActionListener((ActionListener) this);
       
        jFrameContrato.add(tfSellerCod);
        tfSellerCod.setBounds(130, 90, 40, 20);
        jFrameContrato.getContentPane().add(tfSellerCod);
        tfSellerCod   .addActionListener((ActionListener) this);
        
    
    }



    
    public static void main (String[]args){
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new formContratos();
            }
        });
    }
}

1 Resposta

M

Qual a excessão completa (o stack trace)?

Criado 12 de fevereiro de 2009
Ultima resposta 12 de fev. de 2009
Respostas 1
Participantes 2