Estou fazendo um sistema como trabalho da unidade do meu curso técnico de informática. O problema é que após que eu efetuei a inclusão de ícones à interface do meu sistema, apresenta os seguintes erros:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(ImageIcon.java:217)
at Visao.ITelaPrincipal.initComponents(ITelaPrincipal.java:81)
at Visao.ITelaPrincipal.<init>(ITelaPrincipal.java:31)
at Visao.ITelaPrincipal$12.run(ITelaPrincipal.java:392)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Alguém sabe me ajudar a sanar esses erros? Obviamente é relacionado aos ícones, mas alguém sabe sana - lo? Se puderem me ajudar, fico agradecido desde já!
Está dando erro de NullPointerException, segundo a própria documentação da Oracle , este erro ocorre quando :
Um aplicativo tenta usar nulo em um caso em que um objeto é necessário. Esses incluem:
Chamando o método de instância de um objeto nulo.
Acessando ou modificando o campo de um objeto nulo.
Tomando o comprimento de nulo como se fosse uma matriz.
Acessando ou modificando os slots de nulo como se fosse uma matriz.
Lançando nulo como se fosse um valor Throwable.
Agora para nós termos melhor ideia do que está ocorrendo no seu código, poste o seu código inteiro ou aonde o erro é mostrado pelo debugger.
Sim a razão por que está ocorrendo NullPointerException é por que por alguma razão a imagem que você está tentando usar não está sendo encontrada. Então use o método getResource() para retornar null.
Um desses jeitos que é sugerido pela Oracle, é adicionar um método que tenta encontrar o caminho da imagem e retorna o caminho encontrado, caso não, ele retorna null.
/Retorna uma ImageIcon, ou null se o caminho foi invalido/
protected ImageIcon createImageIcon(String path,
String description) {
java.net.URL imgURL = getClass().getResource(path);
if (imgURL != null) {
return new ImageIcon(imgURL, description);
} else {
System.err.println("Não foi possível encontrar caminho : " + path);
return null;
}
}
Dê uma olhada também na documentação da Oracle sobre como usar Icons :