Pessoal me ajudem por favor, e estou a desenvolver um sistema aqui que esta dando a excessão de nullpointException, alguém sabe o que isso quer dizer??
Erro de nullpointExcepion
11 Respostas
Você está tentando recuperar algum objeto que está com valor nulo.
é isso mesmo que o nosso amigo disse
provavelmente vc não instanciou o seu objeto, tipo, normalmente isso é feito dando um new no objeto… as vezes algum metodo vai retornar essa instancia, vc teria q atribuir a chamada desse método para o objeto…
se vc posta seu código provavelmente alguém vai te dar uma resposta mais direta e facil de intender…
bom pelo que entendi, essa excessão é lançada quando fazemos referência a objetos nulo, mas não to conseguindo verno meu codigo onde faço essa referencia, vou postar aqui se alguém puder me ajude por favor.
Veja a Stack Trace (mensagem exibida no console). Ela provavelmente lista o ponto em que o erro ocorreu.
EDIT: se mesmo assim não conseguir encontrar, poste o código e a stack trace.
esta ai o meu codigo pessoal, não esta toda a classe, mas o restante é apenas o codigo gerado pelo netbenas:
public class Buscar extends javax.swing.JFrame {
TelaPrincipal p;
Conexao conec;
AdicionarContatoBean contato;
/** Creates new form Buscar */
public Buscar() {
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")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
tf_pesquisar = new javax.swing.JTextField();
bt_pesquisar = new javax.swing.JButton();
jScrollPane1 = new javax.swing.JScrollPane();
tb_dados = new javax.swing.JTable();
jLabel1 = new javax.swing.JLabel();
tf_nome = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
tf_empresa = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
tf_dd1 = new javax.swing.JTextField();
tf_telefone1 = new javax.swing.JTextField();
jLabel4 = new javax.swing.JLabel();
tf_dd2 = new javax.swing.JTextField();
tf_telefone2 = new javax.swing.JTextField();
jLabel5 = new javax.swing.JLabel();
tf_data = new javax.swing.JTextField();
bt_excluir = new javax.swing.JButton();
bt_fechar = new javax.swing.JButton();
jLabel6 = new javax.swing.JLabel();
jComboBox1 = new javax.swing.JComboBox();
bt_alterar = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setTitle("Clientes Cadastrados!");
setResizable(false);
bt_pesquisar.setText("Pesquisar");
bt_pesquisar.setFocusable(false);
bt_pesquisar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bt_pesquisarActionPerformed(evt);
}
});
tb_dados.setModel(dadosBusca);
jScrollPane1.setViewportView(tb_dados);
jLabel1.setText("Nome:");
jLabel2.setText("Empresa:");
jLabel3.setText("Fone 1:");
jLabel4.setText("Fone 2:");
jLabel5.setText("Data de Cadastro:");
bt_excluir.setText("Excluir");
bt_excluir.setEnabled(false);
bt_fechar.setText("Fechar");
bt_fechar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bt_fecharActionPerformed(evt);
}
});
jLabel6.setText("Buscar Por:");
jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Nome", "Empresa", "Codigo" }));
bt_alterar.setText("Alterar");
bt_alterar.setEnabled(false);
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.TRAILING)
.addGroup(layout.createSequentialGroup()
.addComponent(bt_alterar)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(bt_excluir)
.addGap(18, 18, 18)
.addComponent(bt_fechar))
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(tf_nome, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 372, Short.MAX_VALUE)
.addComponent(jLabel1, javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel2, javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(tf_empresa, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 372, Short.MAX_VALUE)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(tf_dd1, javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel3, javax.swing.GroupLayout.Alignment.LEADING))
.addGap(18, 18, 18)
.addComponent(tf_telefone1, javax.swing.GroupLayout.PREFERRED_SIZE, 106, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 56, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(tf_dd2, 0, 0, Short.MAX_VALUE)
.addComponent(jLabel4))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(tf_telefone2, javax.swing.GroupLayout.PREFERRED_SIZE, 109, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addComponent(jLabel6)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addComponent(jLabel5)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(tf_data, javax.swing.GroupLayout.PREFERRED_SIZE, 96, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addComponent(tf_pesquisar, javax.swing.GroupLayout.DEFAULT_SIZE, 275, Short.MAX_VALUE)
.addGap(18, 18, 18)
.addComponent(bt_pesquisar))
.addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 372, Short.MAX_VALUE)))
.addContainerGap(43, Short.MAX_VALUE))
);
layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {tf_telefone1, tf_telefone2});
layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {bt_alterar, bt_excluir, bt_fechar});
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGap(24, 24, 24)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel6)
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(tf_pesquisar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(bt_pesquisar))
.addGap(18, 18, 18)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(tf_nome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(tf_empresa, 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.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(tf_dd1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(tf_telefone1, 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(jLabel5)
.addComponent(tf_data, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(tf_dd2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(tf_telefone2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addGap(28, 28, 28)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(bt_excluir)
.addComponent(bt_fechar)
.addComponent(bt_alterar))
.addGap(36, 36, 36))
);
layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {tf_telefone1, tf_telefone2});
layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {bt_alterar, bt_excluir, bt_fechar});
java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
setBounds((screenSize.width-433)/2, (screenSize.height-503)/2, 433, 503);
}// </editor-fold>
DefaultTableModel dadosBusca = new DefaultTableModel(null, new String []{"Código", "Nome", "Empresa"});
public void AlterabtAlterar(){
bt_alterar.enable(true);
}
public void AlterabtExcluir(){
bt_excluir.enable(true);
}
private void bt_fecharActionPerformed(java.awt.event.ActionEvent evt) {
p = new TelaPrincipal();
p.show();
dispose();
}
@SuppressWarnings("empty-statement")
private void mostrarContato(List<AdicionarContatoBean> cont){
if (cont == null){
JOptionPane.showMessageDialog(null, "Nenhum registro encontrado");
}
else {
while (dadosBusca.getRowCount()>0){
dadosBusca.removeRow(0);
}
String campos[] = new String[] {null,null,null};
for (int i =0; i<cont.size(); i++){
dadosBusca.addRow(campos);
dadosBusca.setValueAt(cont.get(i).getCodigo(), i, 0);
dadosBusca.setValueAt(cont.get(i).getNome(),i, 1);
dadosBusca.setValueAt(cont.get(i).getEmpresa(),i, 2);
}
}
}
private void ListarContato(){
AdicionarContatoControl contatos = new AdicionarContatoControl();
List<AdicionarContatoBean> cont = contatos.listarContato(tf_pesquisar.getText().trim());
mostrarContato(cont);
}
private void bt_pesquisarActionPerformed(java.awt.event.ActionEvent evt) {
ListarContato();
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Buscar().setVisible(true);
}
});
}
E a mensagem de erro?
EDIT: use as tags para formatar o código.
aqui esta copiei toda a mensagem de erro:
run:
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at Internos.AdicionarContatoControl.listarContato(AdicionarContatoControl.java:39)
at Tela.Buscar.ListarContato(Buscar.java:250)
at Tela.Buscar.bt_pesquisarActionPerformed(Buscar.java:254)
at Tela.Buscar.access$000(Buscar.java:26)
at Tela.Buscar$1.actionPerformed(Buscar.java:75)
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:6134)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5899)
at java.awt.Container.processEvent(Container.java:2023)
at java.awt.Component.dispatchEventImpl(Component.java:4501)
at java.awt.Container.dispatchEventImpl(Container.java:2081)
at java.awt.Component.dispatchEvent(Component.java:4331)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4301)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3965)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3895)
at java.awt.Container.dispatchEventImpl(Container.java:2067)
at java.awt.Window.dispatchEventImpl(Window.java:2458)
at java.awt.Component.dispatchEvent(Component.java:4331)
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)
CONSTRUÍDO COM SUCESSO (tempo total: 31 segundos)
Aqui ó: Internos.AdicionarContatoControl.listarContato(AdicionarContatoControl.java:39)
cara mil desculpas, mas não conseguir perceber, será que dava pra vc me detalhar só mais um pouco o erro, por favor?
O pessoal já explicou o que é o erro, e também já identificamos em seu stack trace onde é o erro. Agora você olha nessa linha do seu código. Lá você deve checar se a variável está nula antes de acessar, por exemplo, um método.
nomeDaVariavel.nomeDoMetodo();
Cheque o valor de nomeDaVariavel e tome a ação mais adequada.
if (nomeDaVariavel == null)
{
//faz alguma coisa
}