Nullpointer exception num ImageIcon

Gente, estou começando a estudar interface graficas, componenetes GUI em java, faço sistema de informações, o professor ta dando esse assunto em aula, mas não quero esperar até segundo para tirar minha duvida, gostaria da ajuda de v6, e estou estudando pela apostila do deitel, la tem um exemplo inicial e no exemplo de codigo ele inseri uma imagem .GIF, eu copiei o exemplo exatamente igual da apostila para o eclipse, mas dar um erro:

Exception in thread “main” java.lang.NullPointerException
at javax.swing.ImageIcon.(Unknown Source)
at JOption_Pane_treino.LabelFrame.(LabelFrame.java:26)
at JOption_Pane_treino.LabelTest.main(LabelTest.java:9)

então, vou passar o código pra vocês darem uma olhada, gostaria q v6 me explicassem como é feito a importaçãode imagem pelo método ImageIcon, essa imagem vem de onde? creio q esse erro q ta dando é a respeito da importação da imagem, pois se tiro as linhas de código referentes a imagem, o código compila direitinho.


package JOption_Pane_treino;

import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import javax.swing.Icon;
import javax.swing.ImageIcon;

public class LabelFrame extends JFrame {

	private JLabel label1;
	private JLabel label2;
	private JLabel label3;
	
	
	public LabelFrame()
	{
		super("Testing Jlabel");
		setLayout (new FlowLayout());
		
		label1 = new JLabel ("Label with text");
		label1.setToolTipText("This is label");
		add (label1);
		
		Icon bug = new ImageIcon (getClass().getResource ( "bug1.gif"));
		label2 = new JLabel ("Label with text and icon");//, bug, SwingConstants.LEFT);
		label2.setToolTipText ("This is label2");
		add (label2);
		
		label3 = new JLabel();
		label3.setText ("Label with icon text at bottom");
		label3.setIcon(bug);
		label3.setHorizontalTextPosition (SwingConstants.CENTER);
		label3.setVerticalTextPosition (SwingConstants.BOTTOM);
		label3.setToolTipText ("This is label3");
		add (label3);
		
		
	}
}

O erro acontece porque o código não acha a imagem.

Tenta fazer assim…
Troca o “bug1.gif” pelo caminho da imagem.
Exemplo:

Icon bug = new ImageIcon (getClass().getResource ( "Bibliotecas/Imagens/exemplo.gif" )); 

Não deu amigo, continua no erro =/

Copia e cola a imagem no pacote do seu projeto.
E deixa só nome da imagem no código, como tava da primeira vez.

Icon bug = new ImageIcon (getClass().getResource ( "bug1.gif"));

então xande, coloquei a imagem na pasta do pacote, ai deu certo, valeu cara. abraço.

Deu certo pq vc está mandando buscar esse arquivo dentro do pacote da tua classe LabelFrame. Ele consegue esse endereço pelo getClass().

Se quiser colocar esse arquivo em outro lugar, terá que apontar um local relativo ao pacote dessa classe. Esse local deve fazer parte do build do teu projeto.

Por favor, ao postar tópicos evite destacar o óbvio (como a palavra DUVIDA), dê um título que descreva “qual é” a dúvida, e abra o tópico no fórum certo.

Se a dúvida é de interface gráfica, por que abriu no fórum de Java Básico? Não notou que temos um fórum chamado Interface Gráfica?

Beleza Vini, vou prestar mais atenção.