Exception occurred during event dispatching:
java.lang.NullPointerException
at Nodo.<init><Nodo.java:17>
at Gerente.<init><Gerente.java:32>
at Inclusao.actionPerformed<Inclusao.java:96>
at java.awt.Button.processActionEvent<Button.java:329>
at java.awt.Button.processEvent<Button.java:302>
at java.awt.Component.dispatchEventImpl<Component.java:2593>
at java.awt.Component.dispatchEvent<Component.java:2497>
at java.awt.EventQueue.dispatchEvent<EventQueue.java:339>
at java.awt.EventDispatchThread.pumpOneEventForHierarchy<
EventDispatchThread.java:131>
at java.awt.EventDispatchThread.pumpEventsForHierarchy<
EventDispatchThread.java:98>
at java.awt.EventDispatchThread.pumpEvents<EventDispatchThread.java:93>
at java.awt.EventDispatchThread.run<EventDispatchThread.java:85>
public void actionPerformed(ActionEvent e)
{
if (e.getSource()==b3)
{
// esconde a janela
this.setVisible(false);
// tira a janela da memória
this.dispose();
}
if (e.getSource()==b2)
{
// limpa todos os campos
tf1.setText("");
tf2.setText("");
tf3.setText("");
// direciona o cursor para o tf1
tf1.requestFocus();
}
if (e.getSource()==b1)
{
int aux;
aux=Integer.parseInt(tf1.getText());
Gerente g=new Gerente(lista,aux,tf2.getText(),tf3.getText());
}
}
Classe Gerente:
public class Gerente
{
// atributos de Gerente
private Lista lista;
private Fita fita;
private Nodo nodo;
private Hash hash;
// Métodos
//Construtor
public Gerente(Lista l,int c, String g, String n)
{
int aux2;
Nodo nodoAux;
lista=l;
fita=new Fita();
fita.setCodigo(c);
fita.setGenero(g);
fita.setNome(n);
nodo=new Nodo();
nodo.setObjeto(fita);
// pegando a chave hash
hash=new Hash();
int chaveAux=hash.funcaoHash(c);
// inserindo o nodo na lista
lista.insereNaLista(nodo,chaveAux);
}
Como eu disse, você precisa fazer isso antes de chegar naquela linha.
No caso, quando você está fazendo
nodo=new Nodo();
nodo.setObjeto(fita);
Quando você faz o new Nodo(), você executa o construtor, onde está a tal linha 17, e nesse momento você ainda não fez o setObjeto.
O que você pode fazer no caso é passar esse “fita” para o construtor e trabalhar com ele lá, ou então, pra ficar ainda mais claro, tirar as linhas
objeto.setCodigo(0);
objeto.setGenero("");
objeto.setNome("");
do construtor e colocar no método setObjeto()
Você pode até chamar o setObjeto(fita) de dentro do construtor, se passar para ele o fita.