Porque NullPointerException ? D:

5 respostas
A

O compilador ta dando NullPointer Exception na primeira dessas linhas:

getImagem().setImage(getImagem().getImage().getScaledInstance(50,50,100));
setIcon(lala);

Obs: getImagem() [é uma função que retorna o ImageIcon da minha “JLabel”.

não sei porque isso acontece…, e sim, é uma JLabel(Na verdade é uma classe que da extends pra JLabel).

5 Respostas

A

Descobri qual foi o erro. Na verdade eu to até com vergonha de falar.

Eu tinha um atributo “ImageIcon image;” nessa minha classe, só que na hora de adicionar a imagem à essa classe eu usava o .setIcon() e nao o meu proprio .setImagem(), então esse meu atributo tinha valor nulo, quando eu tentei mecher com ele deu esse erro.

Foi mal ae por esse tópico inútil xP

JuniorMaia

O tópico não é inútil, pois algum dia, alguém poderá passar pela mesma situação, é importante você postar as soluções dos problemas, por mais banal que seja! ;}

LPJava

todos erram. é normal. Todo programador já teve NPE :). E a maioria é por coisa boba.

E
getImagem().setImage(getImagem().getImage().getScaledInstance(50,50,100));

Código altamente encadeado normalmente dá origem a exceções que são difíceis de achar ou debugar porque você não sabe qual foi a chamada de função que retornou null. Quando você precisa debugar uma coisa dessas, a idéia é decompor esse código em pedaços menores, como:

ImageIcon im = getImagem().getImage();
im = im.getScaledInstance (50, 50, 100);
getImagem().setImage (im);

Você provavelmente iria ver que im era null e iria dar um NullPointerException na linha seguinte.

A

É uma boa eu começar a criar estruturas melhores mesmo, obrigado pela dica. Na verdade eu comecei a checar valores usando o “System.out.println();”, quando vi que o valor era null eu fui dar uma olhada no meu código pra ver porque, perdi um tempo que não precisava ter perdido.

Vivendo e aprendendo né? :wink:

Criado 7 de junho de 2012
Ultima resposta 8 de jun. de 2012
Respostas 5
Participantes 4