Exception in thread "main" java.lang.NullPointerException

então obtenho o java.lang erro

[code]

Updating property file: C:\Users\raghy\Desktop\jv\javadeoutropendrive-podemteriguais\Memoria_Jogo\build\built-jar.properties
Compiling 1 source file to C:\Users\raghy\Desktop\jv\javadeoutropendrive-podemteriguais\Memoria_Jogo\build\classes
compile-single:
run-single:
Exception in thread “main” java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(ImageIcon.java:167)
at pacotememoria.Main_1_1.<init>(Main_1_1.java:182)
at pacotememoria.Main_1_1.main(Main_1_1.java:998)
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 2 segundos)[/code]

alguém sabe ajudar isto?

é nestas linhas aqui…

imagem1 = new ImageIcon(getClass().getResource("/pacotememoria/estrela1.gif")); imagem1_1 = new ImageIcon(getClass().getResource("/pacotememoria/estrela2.gif")); imagem2 = new ImageIcon(getClass().getResource("/pacotememoria/rosto1.gif")); imagem2_2 = new ImageIcon(getClass().getResource("/pacotememoria/rosto2.gif")); imagem3 = new ImageIcon(getClass().getResource("/pacotememoria/seta1.gif")); imagem3_3 = new ImageIcon(getClass().getResource("/pacotememoria/seta2.gif"));

Vamos começar pelo básico hehe…

(pergunta idiota) todas esses arquivos existem no diretório?

O problema é que seu projeto não esta encontrando o arquivo, por exemplo na linha abaixo provavelmente esta retornando null.

getClass().getResource("/pacotememoria/estrela1.gif")

isso que esta resultando o erro.

Faz como o amigo acima disse, Entra na pasta do projeto, depois na pasta “pacotememoria” e procura as imagens que vc esta tentando usar, seu problema é simples de resolver.

Abraço

sim eu consigo fazer o programa funcionar quando ponho estes arquivos no diretorio c

tipo assim:

ImageIcon imagem1 = new ImageIcon(“C://imagensmemoria/estrela1.gif”);
ImageIcon imagem1_1 = new ImageIcon(“C://imagensmemoria/estrela2.gif”);
ImageIcon imagem2 = new ImageIcon(“C://imagensmemoria/rosto1.gif”);
ImageIcon imagem2_2 = new ImageIcon(“C://imagensmemoria/rosto2.gif”);
ImageIcon imagem3 = new ImageIcon(“C://imagensmemoria/seta1.gif”);
ImageIcon imagem3_3 = new ImageIcon(“C://imagensmemoria/seta2.gif”);

mas gostaria que ficassem vinculado ao próprio programa, consegui fazer isto com meu jogo da forca…

sempre deu problema, mas pus no mesmo diretorio da classe main e funcionou. mas no caso deste jogo de memória o mesmo não aconteceu. e a estrutura parece a mesma. enfim. sim eles estão no diretório.

experimente sem a barra… só pra testar…

imagem1 = new ImageIcon(getClass().getResource("pacotememoria/estrela1.gif"));  
imagem1_1 = new ImageIcon(getClass().getResource("pacotememoria/estrela2.gif"));  
imagem2 = new ImageIcon(getClass().getResource("pacotememoria/rosto1.gif"));  
imagem2_2 = new ImageIcon(getClass().getResource("pacotememoria/rosto2.gif"));  
imagem3 = new ImageIcon(getClass().getResource("pacotememoria/seta1.gif"));  
imagem3_3 = new ImageIcon(getClass().getResource("pacotememoria/seta2.gif"));  

Eu estava dando uma lida aqui, e vi uns exemplos de estruturas válidas dos jars para se usar o getResource(), talvez te ajude.

testei sem a barra, mas sabia que não era. porque no outro programa funcionou com a mesma estrutura.
o jogo da forca. inclusive repeti o post com o mesmo nome, mas mando o link aqui…

pois já mandei os dois programas, que são até bem interessantes.

eles são bem parecidos, não sei o que faz um funcionar e outro não…

tentei declarar a imagem vazia primeira, mas também não funcionou.

estou olhando aqui, qualquer help é bem vindo.

olha de alguma forma eu resolvi, mas de fato não entendi o porque e nem como.
simplesmente passou a funcionar… tentei declarar as variaveis um pouco separadamente e acabou dando certo.

sei que não estava enxergando a imagem, mas tb não entendi muito bem, porque 'agora ’ passou a enxergar. enfim está funcionando…

segue o jar…

valeu.

antes só funcionava pondo a imagem na pasta c, o que é bem trabalhoso.

digam se consegue jogar e funciona?

enviei uma biblioteca swing porque as vezes não funciona sem ela…

talvez precise colocar em uma pasta chamada lib…

alguns dos inconvenientes que ainda surgem para usar o jar.

também não sei se em algum computador qualquer sem java, funcionaria… no caso sei que não, mas será que o browser acusa que está sem java?

hoje em dia tem um link muito bom que baixa o java, bem praticamente, sem precisar instalar classpath e mais nada, o que facilita o uso do jar…

alguém sabe dizer algo sobre isto…

o .exe nunca precisou de muita coisa ‘extra…’

comentem

FALHAS DO JAR - ******************************************

esta é uma boa questão. as vezes o jar não adiciona as bibliotecas junto,

o que tem que instalar tudo separado.
porque isto acontece?

porque a biblioteca não fica incorporada.

já vi em algumas vezes gerar erro por isso, e ao incluir a biblioteca por perto, que fica gerada separada no dist,

e então o programa funcionar.

coments.

horas a biblioteca se ‘perde’, e só instalando ao redor, como na pasta lib, do dist.

oi vi que alguém baixou o jar ou jogo, conseguiu ver as imagens, funcionou direitinho.?

valeu.